2015-06-29 49 views
0

中我似乎有一些問題搞清楚如何at=...mtext(...)功能。不一致的參數輸出多行文字繪圖

如果我繪製添加了文本

df <- data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20),x4=rnorm(20),x5=rnorm(20),x6=rnorm(20),x7=rnorm(20),x8=rnorm(20),x9=rnorm(20),x10=rnorm(20),x11=rnorm(20),x12=rnorm(20),x13=c(2,1,1,2,2,1,2,1,2,2,1,1,2,1,2,2,1,2,1,1)) 
par(mfrow=c(1,4)) 
plot(x1~x4,data=df);mtext(c("Scatter plot 1","Test"), at=c(1,1), line=c(0,1)) 
plot(x2~x3,data=df);mtext(c("Scatter plot 2","Test"), at=c(1,1), line=c(0,1)) 
plot(x5~x6,data=df);mtext(c("Scatter plot 3","Test"), at=c(1,1), line=c(0,1)) 
plot(x7~x8,data=df);mtext(c("Scatter plot 4","Test"), at=c(1,1), line=c(0,1)) 

我得到類似

enter image description here

爲什麼添加的文本被打印在不同的地點在對於他們的陰謀一些散點圖?是什麼讓at=c(1,1)在每個情節中都有不同的功能?這種模式似乎沒有一致性。

+1

看那'x'軸。 – Roland

+0

現在好了。你知道有什麼方法可以忽略嗎?意思是說,有沒有辦法讓'at(...)'接受軸座標的任何其他輸入? –

回答

1

您可以在?mtext閱讀:

在:給每個字符串的位置在用戶座標。如果在對應於特定文本項組件是不是有限值(默認值),該位置將通過ADJ確定

所以,你可以把at=Infadj調整的地方,這將作爲如果您的x-axis0變爲1

例如,你可以嘗試:

plot(0:10, 0:10) 
mtext(side=1, line=0, at=Inf, "text 1", adj=0.9) 
mtext(side=1, line=0, at=Inf, "text 1", adj=0.3) 
+0

謝謝。這似乎更實際。 –

+0

@OlliJ不客氣,當你不知道極端值時,它確實非常方便,例如在函數內部 – Cath