R ggplot2中比例\颜色\梯度的设置值
我试图使用scale\u color\u gradientn来清楚地显示负和正的值:负的是蓝色,正的是红色。但是gradientn似乎忽略了我的颜色向量,只生成了一个大的渐变,而不是n个小的渐变。这是我的示例代码R ggplot2中比例\颜色\梯度的设置值,r,ggplot2,R,Ggplot2,我试图使用scale\u color\u gradientn来清楚地显示负和正的值:负的是蓝色,正的是红色。但是gradientn似乎忽略了我的颜色向量,只生成了一个大的渐变,而不是n个小的渐变。这是我的示例代码 xx <- -100:100 yy <- xx fma <- data.frame( xx, yy) ggplot( fma) + geom_point( aes( xx, yy, col=yy)) + scale_colour_gradientn(
xx <- -100:100
yy <- xx
fma <- data.frame( xx, yy)
ggplot( fma) +
geom_point( aes( xx, yy, col=yy)) +
scale_colour_gradientn(
colours=c('#0000ff','#0000ff','#ff0000','#ff0000'),
values=c( -100, -1, 1, 100))
xx我不使用scale\u color\u continuous
,而是使用factor
变量告诉这些点的颜色,并使用scale\u color\u discrete
或*\u manual
。在本例中,我们在aes
中使用一个条件,因此col
根据yy
的值接收TRUE
或FALSE
,但是如果您想要更多可能的值,您可以在
时使用开关
或大小写
用可能的颜色类别填充yy_范围
变量
ggplot(fma) +
geom_point(aes( xx, yy, col = yy < 0)) +
scale_color_discrete(c('#0000ff','#ff0000'))
ggplot(fma)+
几何点(aes(xx,yy,col=yy<0))+
刻度颜色离散(c('0000ff','ff0000'))
如果您希望将颜色比例保持为渐变,而不是二分色比例,可以执行以下操作:
xx <- -100:100
yy <- xx
fma <- data.frame( xx, yy)
ggplot( fma) +
geom_point( aes( xx, yy, col=yy)) +
scale_colour_gradientn(
colours=c('indianred4','indianred1','white','darkseagreen1','darkseagreen4'),
values=c( 0, 49.5, 50, 50.5, 100)/100)
xx可能重复:(值应该从0到1,它们与数据中的值不对应)。从scale\u color\u gradientn
文档中关于value
:如果颜色不应沿渐变均匀定位,此向量给出位置(0到1之间)对于颜色向量中的每种颜色。谢谢,评论非常有用。