在ggplot2中旋转和分隔轴标签
我有一个情节,其中X轴是一个标签很长的因素。 虽然可能不是一个理想的可视化,但现在我想简单地将这些标签旋转为垂直。 我已经用下面的代码弄清楚了这一部分,但正如你所看到的,这些标签并不完全可见。
data(diamonds)
diamonds$cut <- paste("Super Dee-Duper",as.character(diamonds$cut))
q <- qplot(cut,carat,data=diamonds,geom="boxplot")
q + opts(axis.text.x=theme_text(angle=-90))
将最后一行更改为
q + theme(axis.text.x = element_text(angle = 90, hjust = 1))
默认情况下,即使在旋转的情况下,轴也会在文本的中心对齐。 当你旋转+/- 90度时,你通常希望它在边缘对齐:
上面的图片来自这篇博客文章。
要使刻度标签上的文本完全可见并以与y轴标签相同的方向读取,请将最后一行更改为
q + theme(axis.text.x=element_text(angle=90, hjust=1))
使用+ coord_flip()
。
在“R for Data Science”中,Wickham和Grolemund谈到了这个确切的问题。 在第3.8章“位置调整”中,他们写道:
coord_flip()
切换x和y轴。 这很有用(例如),如果你想要水平箱形图。 这对长标签也很有用:很难让它们在x轴上不重叠的情况下适合。
将这个应用于你的情节,我们只需+ coord_flip()
添加到ggplot中:
data(diamonds)
diamonds$cut <- paste("Super Dee-Duper",as.character(diamonds$cut))
qplot(cut,carat,data = diamonds, geom = "boxplot") +
coord_flip()
现在超长的标题横向分布并且非常容易阅读!
链接地址: http://www.djcxy.com/p/30841.html上一篇: Rotating and spacing axis labels in ggplot2
下一篇: r