要解決你的問題,你必須知道你的legend
有多大和修復X軸範圍相應。要做到這一點,你需要繪製一個空的圖和空的圖例,並將圖例分配給一個對象。這樣,您就可以訪問圖例的尺寸。然後,您重繪自定義的X軸範圍與xlim
情節。
#Generate data
x <- seq(0,22,length=1000)
y <- dnorm(x,mean=10, sd=0.5)*4000
#Plot empty plot, get legend size
par(xpd=TRUE)
plot(x,y, type="n", axes=F, xlab="", ylab="")
my.legend.data <-legend(x=16.8,y=2600,legend=c("North","East","West","North_East","North_West","East_West"),
lwd=2,col=c("red", "blue", "green","black","pink","Orange"), plot=FALSE)
#plot chart with custom xlim that will fit legend
my.x.range <-c(min(x),my.legend.data$rect$left+my.legend.data$rect$w)
plot(x,y, type="l", lwd=1, xlim=my.x.range)
legend(x=16.8,y=2600,legend=c("North","East","West","North_East","North_West","East_West"),
lwd=2,col=c("red", "blue", "green","black","pink","Orange"))
回顧'傳說中的'x.intersp'參數()',它會幫助使傳說不一樣寬。至於沿x軸控制圖例,還請查看'inset'參數。 – ccapizzano 2015-03-31 01:45:13
感謝您的評論。使用x.intersp - 我可以控制圖例框中線和文本之間的距離。我也嘗試y.intersp - 我可以控制在Y軸方向的兩個傳說的文本之間的距離。 現在的問題是如何降低一個傳奇禁區線長度,使整體框將在地塊。我期待更多關於插圖的幫助。 – 2015-03-31 11:30:07
如果我想在分裂我的文字兩行,那麼我應該有什麼關係? – 2015-03-31 12:04:11