2013-05-07 439 views
2

在以下示例中,我繪製在0.95定製刻度標記(編輯以製作標籤水平按Thomas的建議):R,軸的刻度線和刻度標記之間變化距離標籤

d = matrix(runif(40), ncol=4) 
colnames(d) = c('a','b','c','d') 

barplot(
    d, 
    beside=T, 
    col=c('#CD4E3C', '#816DC3','#569340', '#A87929'), 
    ylim=c(0,1), 
    cex.axis=.80, 
    main= 'Title', 
    las=1 

) 

abline(h= 1:10/10, col = 'lightgray', lty=3) 
axis(side=2, at=c(.95), cex.axis=.75, tck=-.01, las=1) 
abline(h= .95, col = '#000000', lty=3) 

哪得出:

enter image description here

我的自定義標籤太接近常規標籤(這也是我需要),我想使標籤更接近刻度線。我看透了

help(par) 

怎樣才能使標籤更接近軸?

編輯: 使刻度標記水平有幫助,但我仍想縮進.95的標籤以反映縮短的刻度標記。

回答

1

快速解決方法是將las=2放入您的barplot()axis()調用中,以使標籤水平並且它們會更清晰。

編輯:使用mtext代替axis

mtext("0.95",2,.5,at=.95,las=2,cex=.75)

+0

謝謝!多行文字很好地與一個帶有標籤= FALSE的軸調用一起工作,仍然可以得到刻度標記。我使用las = 1來將所有標籤設置爲水平(las = 2與barplot一起使用時將x軸標籤橫向翻轉) – wils484 2013-05-07 23:19:08