2011-04-22 72 views
3

今天我一直有問題,我想從下面的R-plot中刪除x軸,但它不會消失。我希望軸位於最上方。 有人能幫助我嗎?在error.bars中刪除x軸

library(psych) 
temp <- describe(attitude) 
error.bars(stats=temp,xaxt="n") 
axis(3) 

回答

2

您可以使用fixInNamespace()在的psych命名空間來編輯error.bars()功能。請嘗試:

fixInNamespace(error.bars) 

這將在基本文本編輯窗口中打開該功能。找到axis()來電,並將您不想要的來電註釋掉。退出編輯器,R將更新NAMESPACE中的功能。

然後再次嘗試使用該功能。

或者,您可以將error.bars()的代碼打印到提示符中,將其複製到文本編輯器中,更改函數的名稱(如my.error.bars),並像以前那樣註釋掉axis()調用。將該功能保存在文件中,然後將其保存到會話中,或將該功能複製並粘貼到該文件中,然後使用自己的心願。

第三種方法是計算error.bars()它是如何繪製底圖的 - 查看代碼。不用座標軸自己重新創建繪圖,然後撥打error.bars()add = TRUE

+0

謝謝你的描述。這意味着我只能找到另一種方法來使用錯誤欄,否則我不能做我需要修復的情節。 – 2011-04-22 11:35:10

+1

@Kris Melis:製作圖並添加error.bars – 2011-04-22 12:12:28

2

正如在評論中,你可以編輯源代碼。最簡單的方法可能是使用'修復':

eb = fix(error.bars) 

應該彈出一個編輯器。將軸(1,.etc。)調用更改爲軸(3,.etc。)。然後你有一個叫做eb()的新函數,它的工作方式與error.bars類似。

您可能還想調整一些其他的東西,比如放在頂部時踩在軸上的標題。

0

只是爲了展示一下加文與附加= T表示:

group <- factor(rep(1:10,10)) 
y <- (1:10)[group] + rnorm(100) 

grmean <- tapply(y,group,mean) 
plot(1:10,grmean,xaxt="n",type="n") 

unstacked <- unstack(data.frame(y,group),y~group) 
error.bars(unstacked,add=T) 
axis(3) 

給出: enter image description here