2012-04-09 109 views
6

我需要創建一個複雜的圖例,其中包含一個分數,分子和分母的顏色爲Legend圖例中的分數,多種顏色

是否可以用(base)R創建這樣一個圖例?

由於我必須將這個圖例添加到不同情節的不同情節,我不想手動編程文本,但能夠自動添加它作爲圖例。它不一定是圖例(儘管它會很方便),但是我不想手動輸入每個元素的座標。

有什麼想法?

+1

我不沒有時間去處理一個例子,但我能想到的最好的方法是使用** TeachingDemos **中的'subplot'函數來添加「圖例」。這樣,您可以直接使用帶有硬編碼位置的「文本」來繪製文本。 – joran 2012-04-09 00:20:41

+0

或者甚至沒有硬編碼,因爲每個圖可以將文本置於例如'0.9 * max(x),0.75 * max(y)'處。 – 2012-04-09 11:24:06

回答

8

假設你有這樣的:

d=1:10 
plot(d,type="l") 

,你不會需要不同顏色的分子和分母,您可以用一行代碼(包括@CarlWitthoft文本位置提示)做到這一點:

text(0.5*max(d), 0.9*max(d), expression(Result == frac(Green, Blue)), cex=1.5) 

enter image description here

但沒有改變分子和分母的顏色沒有直接的方法。所以笨重的方式是單獨定製每個元素:

text(0.4*max(d), 0.9*max(d), "Result =", cex=1.5) 
text(0.55*max(d), 0.93*max(d), "Green", col="green", cex=1.5) 
text(0.55*max(d), 0.87*max(d), "Blue", col="blue", cex=1.5) 
segments(0.5*max(d), 0.9*max(d), 0.6*max(d), 0.9*max(d)) 

enter image description here

,我知道是不是你真正想要的,但萬一沒有更好的黑客來......