我有四个非常简单的示例向量:
a<-c(1,3,5,7,9)
b<-c(1,2,3,4,5)
c<-c(1,1.8,2.6,3.4,4.2)
d<-c(1,1.5,2,2.5,3)
我已经绘制了矢量a并使用lines()
添加了其余的矢量,就像这样
plot(a,type="l")
lines(b,type="l")
lines(c,type="l")
lines(d,type="l")
现在我有了这个基本图表
我希望通过实现颜色渐变来改变线条的颜色,例如从淡粉色到深红色。
我有一个矩阵,其中绘制了相同的样本,但其值与绘图无关。
Sample Value
a 634
b 473
c 573
d 124
所以我的问题是:如何在绘图中添加颜色渐变,以便样本的值决定颜色的色调,以便矩阵值列中的较高值为相应样本的行着色在更深的红色?
我对R的基本熟练程度使我有了一个点,我在图像中描绘了情节,但我缺乏开始产生颜色渐变的代码所需的专业知识。
Gradient of n colors ranging from color 1 and color 2我发现这有一些帮助,但我真的不知道如何以我的问题所指的方式应用这些知识。
非常感谢所有帮助。提前谢谢。
-Olli J
答案 0 :(得分:3)
尝试:
dd = data.frame(a,b,c,d)
colvalue
Sample Value
1 a 634
2 b 473
3 c 573
4 d 124
colvalue$scaledvalue = with(colvalue, (Value-min(Value))/ (max(Value)-min(Value)) )
colvalue
Sample Value scaledvalue
1 a 634 1.0000000
2 b 473 0.6843137
3 c 573 0.8803922
4 d 124 0.0000000
plot(a,type="n")
dd = data.frame(a,b,c,d)
for(i in 1:length(dd)){
lines(dd[i], type='l', col = rgb(colvalue$scaledvalue[i],0,0))
}