在R中重叠的坐标轴标签

11

我有一个问题,即坐标轴标签重叠,似乎找不到解决方法。

enter image description here

p <- ggplot(data=Data,aes(x=Indicator,y=Numeric,group=Expenditure_group,shape=Expenditure_group,colour=Expenditure_group))+geom_point()+geom_line()

有没有办法修复这个问题,使得没有重叠?


4
最新版本的ggplot2(ver 3.3.0)已经修复了这个问题。例如,可以使用p + scale_x_discrete(guide = guide_axis(n.dodge = 2))来实现。 - andyyy
1个回答

21

您可以通过自动缩写标签来微调您的x轴,如:

p + scale_x_discrete(labels = abbreviate)

或者您可以像下面这样自己提供缩写标签:

p + scale_x_discrete(labels = c("Congenital Rubella" = "C. Rub.", ..., "Total tetanus" = "T. tet.", "Yellow fever" = "Y. fever")

参见:http://docs.ggplot2.org/current/scale_discrete.html


12
这是一个不错的答案,但我个人更喜欢在每个xlabel的开头交替使用换行符: p + scale_x_discrete( labels = function( labels ) { fixedLabels <- c() for ( l in 1:length( labels ) ) { fixedLabels <- c( fixedLabels, paste0( ifelse( l %% 2 == 0, '', '\n' ), labels[l] ) ) } return( fixedLabels ) } ) - aaiezza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接