【发布时间】:2015-02-19 20:16:19
【问题描述】:
我正在使用 ggplot2 在同一张图上绘制两个不同的离散变量,而我为这两个变量获得的中断显然是不同的。我想用所述标签的叠加值来标记 x 轴上的中断,而不是彼此相邻,我设法做到了,但在小图上并没有真正起作用(标签重叠)。
这是我正在使用的代码:
plot<-ggplot(data, aes(xcut,modx, group=1))+
geom_smooth(aes(color="red"), se=F, linetype="dotted", size=1.25)+
geom_line(data=data,aes(xcut,lowerx, color="red4"), size=1.5)+
geom_line(data=data,aes(xcut,upperx, color="red4"), size=1.5)+
geom_ribbon(data=data, aes(xcut,ymin=lowerx,ymax=upperx), fill="lightpink", alpha=0.4)+
geom_smooth(data=databis, aes(xcut,modx, group=1, color="green"), se=F, linetype="dotted", size=1.25)+
geom_line(data=databis,aes(xcut,upperx, color="green4"), size=1.5)+
geom_line(data=databis,aes(xcut,lowerx, color="green4"), size=1.5)+
geom_ribbon(data=databis, aes(xcut,ymin=lowerx,ymax=upperx), fill="chartreuse1", alpha=0.4)+
ylim(min(data$lowerx,databis$lowerx),max(data$upperx,databis$upperx))+
scale_colour_manual(name = 'Legend',
values =c('red'='red','green'='green', 'green4'='green4', 'red4'='red4'), labels = c('','','',''))+
scale_size_area() +
xlab("") +
ylab("")+
labs(title='')
plot<-plot + scale_x_discrete(breaks=c(1:10), labels=c(label6Ex$label))
很抱歉,由于需要大量数据,我无法提供一个有效的示例。基本上我使用“x”变量,一个相关的“modx”变量和一个离散变量“xcut”,它只是“x”切割十个中断。我有两个不同的数据框(data 和 databis),其中所有变量的定义都类似,但显然两个 dfs 的标签不同。我最后添加的标签已经单独确定;正如我所说,我试图为每个中断添加两个标签:
plot<-plot + scale_x_discrete(breaks=c(1:10), labels=c(paste(labeldatax$label,labeldatabisx$label,sep=" - ")))
这给了我graph for the x and xbis variables with both labels
但是让两个标签垂直叠加对我来说会更方便。欢迎任何有关此事的帮助!
提前致谢。
【问题讨论】:
-
我不敢相信它这么简单......非常感谢,它工作得很好!
-
太棒了!我将其作为答案重新发布,以便您可以关闭问题,如果这是最佳解决方案。
标签: r ggplot2 axis-labels