R:ggplot:穿过轴并使刻度线更长的文本标签

时间:2015-08-21 14:32:32

标签: r ggplot2

所以我很高兴使用ggplot2。我试图用简单的线条制作图形,大文字以便于阅读(在我的论文中它将是3英寸宽)。(使用股票数据以便于)

#build data set
table2A<-mtcars[1:7,1:2]
table2B<-mtcars[1:7,1:2]
table2A$cyl<-rep(c("six"),7)
table2B$cyl<-rep(c("two"),7)
table2B$mpg<-sapply(table2B$mpg,function(x) x*1.5)
table2A$Text<-rownames(table2A)
table2B$Text<-rownames(table2B)
table2A<-rbind(table2A, table2B)

#graph
graph <- ggplot(table2A, aes(x=Text, y=mpg)) + geom_line(lwd=1.5,aes(group=cyl,linetype=cyl)) + labs(title="mpg by car, engine type") + labs(x="car name",y="")
graph + theme_classic() + theme(legend.key.width=unit(0.05,units="npc")) +
  theme (axis.line=element_line(size=1.5), axis.ticks=element_line(size=1.5), title=element_text(size=16), axis.text=element_text(size=12),     axis.text.x=element_text(angle=0))
ggsave(filename = "./graph.out.png", scale = 2.5, width = 3, height = 3/1.618, units="in", dpi=600)

Image, x-axis text labels overlap

这不好,因为你无法阅读标签。 我可以将代码更改为     axis.text.x = element_text(角度= 45) 然后我明白了:

Image, x-axis labels cross x-axis

我不能让文字穿过x轴,它是不可读的。

我搜索了一些例子,但我找不到任何有用的东西。

  1. 我可以对x轴标签文本进行对齐,因此文本的结尾位于x轴下方吗?
  2. 编辑:减少问题

1 个答案:

答案 0 :(得分:1)

axis.text.x=element_text(angle=45,vjust=0.5)

请注意,此处的vjust范围为0到1。

编辑:正如评论者指出的那样,角度不正确