2014-09-25 33 views
2

我有四個非常簡單的例子矢量積:添加值相關的顏色梯度,使用R

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) 

我已經繪製的矢量和與lines()添加的載體的其餘部分,像這樣

plot(a,type="l") 
lines(b,type="l") 
lines(c,type="l") 
lines(d,type="l") 

現在我有這個基本的圖形

enter image description here

我希望通過實現顏色漸變來改變線條的顏色,例如從淡粉色到深紅色。

我有一個矩陣具有相同的繪製樣本,但值與繪圖無關。

Sample Value 
a   634 
b   473 
c   573 
d   124 

所以我的問題是:如何在對劇情添加顏色漸變,使樣品的值決定了顏色的色調,這樣的矩陣值列的顏色就行了更高的價值相應的樣本中是否有更深的紅色?

我在R的初級熟練程度讓我有一個點,我在圖像中描繪了情節,但我缺乏開始使用會產生顏色漸變的代碼所需的技巧。

Gradient of n colors ranging from color 1 and color 2我發現這有些幫助,但我真的不知道如何以我的問題的方式應用這些知識。

非常感謝所有幫助。先謝謝你。

-OlliĴ

回答

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)) 
} 

enter image description here

+0

它的工作原理。感謝您的時間! – 2014-09-25 11:16:46