ggplot2:如何固定geom_bar的x轴顺序

问题描述 投票:0回答:1

我是R的新手,我已经使用ggplot2制作了条形图,但是当它绘制沿x轴的月份变化顺序时,它会显示出来。不知道如何编写代码来防止这种情况的发生以及如何沿x轴以正确的顺序获取月份。

df<-data.frame(month=c("May","June","July","August","September","October","November"),cpue=c(2.40,4.20,6.16,5.25,3.32,2.33,0.91))

ggplot(data=df,aes(x=month,y=cpue))+geom_bar(stat="identity",width=0.5,fill="black")+labs(x="Month",y="CPUE")+theme(axis.text=element_text(size=12),axis.title=element_text(size=14),axis.line=element_line(colour="black"),panel.grid.major = element_blank())
axis geom-bar
1个回答
0
投票

不是随机改变x轴,而是尝试按字母顺序放置x轴。

一个简单的解决方法是使您的df使用关卡进行订购。

df <- data.frame(month=c("May","June","July","August","September","October","November"),cpue=c(2.40,4.20,6.16,5.25,3.32,2.33,0.91))

现在您已经创建了df,我们可以轻松地调整列的水平度,我们将使用x轴,在这种情况下,月份列:]

df$month <- factor(df$month, levels = df$month)

现在,当我们绘制条形图时,它的顺序是从数据框中为其提供的顺序。

  ggplot(data=df,aes(x=month,y=cpue)) + 
  geom_bar(stat="identity",width=0.5,fill="black") + 
  labs(x="Month",y="CPUE") + 
  theme(axis.text=element_text(size=12),axis.title=element_text(size=14),axis.line=element_line(colour="black"),panel.grid.major = element_blank())

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.