首页 文章

在R中使用组合条形图和折线图时,可以订购x轴标签吗?

提问于
浏览
1

使用数据框d中的变量(日,月,计数),我使用下面的ggplot:

day <- c("Mon","Tues","Wed","Thurs","Fri","Sat","Sun","Week","Mon","Tues","Wed","Thurs","Fri","Sat","Sun","Week")
day <- factor(day, level=c("Mon","Tues","Wed","Thurs","Fri","Sat","Sun","Week"))
month<-c("Jan","Jan","Jan","Jan","Jan","Jan","Jan","Jan","Feb","Feb","Feb","Feb","Feb","Feb","Feb","Feb")
month<-factor(month,level=c("Jan","Feb"))
count <- c(4,5,6,8,3,4,9,5.57,2,4,3,7,1,9,3,4.14)
d <- data.frame(day=day,count=count,month=month)
d

下面的折线图正确地命令了几天:

ggplot()+geom_line(data=d[d$day!="Week",],aes(x=day, y=count, group=month, colour=month))

下面的条形图正确显示两个计数:

ggplot()+geom_bar(data=d[d$day=="Week",],aes(x=day, y=count, fill=month),position="dodge")

但是,组合图表中的天数顺序不正确:

ggplot()+geom_line(data=d[d$day!="Week",],aes(x=day, y=count, group=month, colour=month))+geom_bar(data=d[d$day=="Week",],aes(x=day, y=count, fill=month),position="dodge")

如何正确显示x轴上的天数顺序?

1 回答

  • 3

    您可以使用 scale_x_discrete() 更改参数 limits= 的中断顺序 . 与原始数据框架中的因子级别顺序相同,您只需使用 limits=levels(d$day) 即可 .

    ggplot()+
      geom_line(data=d[d$day!="Week",],
                      aes(x=day, y=count, group=month, colour=month))+
      geom_bar(data=d[d$day=="Week",],
                      aes(x=day, y=count, fill=month),position="dodge")+
      scale_x_discrete(limits=levels(d$day))
    

    enter image description here

相关问题