2013-10-14 328 views
7

我無法正確設置圖例的位置,我試圖與xjustncol一起玩,但它仍然出現在圖形的中間。R:圖例中的圖例和線條的長度的定位

你能幫助它將它對齊到邊界嗎(左邊還是右邊我不在乎)?

此外,有可能在圖例中繪製較短的線條?這些顯得太長了。

par(mar=c(5,4,4,5)+.1) 
plot(1:109,rnorm(109), type="l",col="blue", lwd=2, 
     main="Compare signal and std deviation MC3 ch44", 
     ylab="signal", xlab="locations") 
par(new=TRUE) 
plot(1:109, rnorm(109), ylab="",xlab="", type="l", 
     col="red",xaxt="n",yaxt="n", lwd=2) 
axis(4) 
mtext("std. deviation",side=4,line=3) 
legend("topright",col=c("blue", "red"), lwd=2, 
     legend=c("signal","std dev"), cex=0.85, bty="n", xjust=1) 
+1

當我運行你的代碼時,它出現在右上角。也許開始一個乾淨的R會話,然後再試一次。 – Thomas

+0

放大R-Studio顯示它比在.pdf中導出後更集中,可能是由於圖的比例因子(?)但是是否可以在圖例中繪製較短的一行?無法在任何地方找到該選項。 – Irene

+1

嘗試'legend'中的'seg.len'參數。 – Henrik

回答

6

作爲重啓R對話,並使用

legend("topright",col=c("blue", "red"), lwd=2, 
legend=c("signal","std dev"), cex=0.85, bty="n", xjust=1, seg.len=0.5) 

解決了我的問題的評論中指出。

+2

如果您在繪圖後更改繪圖窗口大小,傳奇和文本通常會顯示在「錯誤」的位置。如果您想要特定的寬高比,最好先設置窗口大小。例如。 'dev.new(寬度= 3,高度= 9)' –