2013-05-07 438 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