我正在尝试使用ggplot降低轴刻度标签,但遇到了意想不到的困难。
“hjust”工作正常,但ggplot的“vjust”参数似乎取决于“angle”的值。
以下示例(修改https://github.com/hadley/ggplot2/wiki/Axis-Attributes中的代码)显示“angle”的值似乎如何影响“vjust”:
plot1 <- function(){
#create simple dataframe for plotting
xy <- data.frame(x=1:10, y=10:1)
#create base plot
p <- ggplot(data = xy)+ geom_point(aes(x = x, y = y))
#plot base plot
p <- p + theme(axis.text.x = element_text(colour="red", angle = 45, size = 10, vjust = 7))
print(p)
}
沿着y = 2.5的线生成带有刻度标签(2.5,5.0,7.5,10.0)的图。
但是,删除最后一行的“angle”参数,即
p <- p + theme(axis.text.x = element_text(colour="red", size = 10, vjust = 7))
在x轴下方生成一个带有刻度标签的图(通常是 - 但“vjust”尚未更改)。
根据文档,vjust(和hjust)在技术上应该只在区间[0,1]中,但无论我为“vjust”选择什么值,(正/负/大/小),我不能让轴刻度标签向上或向下移动而不将“角度”定义为非零值。
我道歉,但我无法发布任何图片,因为这是我的第一个问题,而且我没有足够的声望点。
这是我第一次提出问题,因为此前我在本网站上已经提出(并回答过)任何ggplot问题。我看了一遍,但没有找到其他人遇到同样的问题。
非常感谢任何帮助。
我正在运行R 2.15.1和ggplot2 0.9.3,而sessionInfo()产生:
other attached packages:
[1] ggplot2_0.9.3 rj_1.1.0-4
loaded via a namespace (and not attached):
[1] colorspace_1.2-0 dichromat_1.2-4 digest_0.6.0 grid_2.15.2
[5] gtable_0.1.2 labeling_0.1 MASS_7.3-22 munsell_0.4
[9] plyr_1.8 proto_0.3-9.2 RColorBrewer_1.0-5 reshape2_1.2.2
[13] rj.gd_1.1.0-1 scales_0.2.3 stringr_0.6.2 tools_2.15.2