jimshsu
在R里面的barplot或plotc在绘图时
我的X轴标签如果过长
他会省略掉部份
例如 1999 2000 2001 2002 2003 2004
他会变成 1999 2001 2003
请问如果我想要全部显示,但不想用字体缩小(用cex.name)的方式
有否方式可以像Excel的功能那样把字体顷斜??
yihui
可以竖着。使用par()中的las参数,至于取las=1、2、3、4种的哪一个我记不清。
另一种可能的办法是srt参数(将字符串旋转某个角度),结合axis()函数也许有用,没试过。上面一种方法肯定是可以的。
jimshsu
感谢
下面这段可以把字变成垂直
par(lar=2)
barplot(Values, names.arg=Names)
我去看了 par有这段说明
Note that other string/character rotation (via argument srt to par) does not affect the axis labels.
所以srt似乎是不行的..我一时也不太明白他的用途
axis()结合方式我比较不熟析~~无从试验
bjt
## about axis()
plot(... , axes = FALSE)
axis(1, at = , label = )
box()
yihui
刚看了一下,axis()里面似乎srt参数不起作用,但对于text()函数来说,srt是没有问题的,那么除了las参数之外,你还可以采取一种变通的方法,就是用text()手工把坐标轴标记加上去:
par(xpd=NA);plot(1:10,axes=F,xlab='');box()
axis(1,1:10,rep('',10))
text(1:10,.25,rep('rotated text',10),srt=45,adj=c(1,.5))
这种方法过于技巧化了(仔细领会xpd和srt的作用),不过倒也可以从这种例子看到R作为一种语言和软件的重要区别:语言用起来可以几乎不受限制,而软件是别人编制好的,只能按别人的套路走。