簡體   English   中英

在 ggplot2 X 軸中重新排序月份

[英]Reordering Months in ggplot2 X-Axis

我正在做一些降雨分析,我想顯示降雨的季節性,我使用我寫的以下精神創建了一個分面環繞圖。

#Libraries
library(ggplot2)
library(reshape)
library(RColorBrewer)
library(colorRamps)

#Load data
df <- read.csv('SampleData.csv')
view(df)
#Define x aethetics
df$date <- as.Date(df$date, format = '%m/%d/%Y')
df$month <- month.abb


df1<- melt(df, id=c("month","date"))

df1

#set breaks
breaks <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")

#Define color pallet
colourCount = length(breaks)
getPalette = colorRampPalette(brewer.pal(9, "OrRd"))

#Plot
ggplot(df1,aes(date,value,fill=as.factor(month)))+
  geom_bar(position="dodge",stat="identity")+ 
  scale_x_date(date_breaks = "1 month", date_labels = "%b",expand = c(0,0))+
  scale_fill_manual(values = colorRampPalette(brewer.pal(9, "RdGy"))(colourCount), 
                    breaks = breaks, name = "Legend")+
  labs(x = "Date: [Months]", y = "Precipitation [mm/month]")+
  facet_wrap(~variable,nrow=2)+
  theme(strip.text = element_text(size =11.5, face="bold"),
        legend.title = element_text(colour = "black", size =11, face="bold"),
        legend.text = element_text(colour = "black", size =9),
        axis.title.y = element_text(colour = "black", size =11, face="bold"),
        axis.text.y = element_text(colour = "black", size =9),
        axis.title.x = element_text(colour = "black", size =11, face="bold"),
        axis.text.x = element_text(colour = "black", size =9))

此任務的示例數據如下。

date,month,Dodoma Airport,Kilosa Agriculture,Morogoro Agriculture,Nongwe Prs
1/1/2020,1,134.31,123.57,109.39,187.97
2/1/2020,2,106.01,105.13,91.33,103.92
3/1/2020,3,110.96,177.46,142.06,175.89
4/1/2020,4,51.2,215.9,196.27,290.39
5/1/2020,5,4.31,69.58,82.07,145.45
6/1/2020,6,0.16,17.06,17.75,25.28
7/1/2020,7,0.01,7.87,11.43,15.03
8/1/2020,8,0.01,14.1,7.84,17.32
9/1/2020,9,0.08,12.66,10.97,20.53
10/1/2020,10,3.88,32.95,34.83,29.21
11/1/2020,11,25.2,81.8,55.58,114.12
12/1/2020,12,127.9,158.3,107.75,133.32

output 如流在此處輸入圖像描述

我想要的是 plot 數據,以便它從10 月(10 月)開始作為水年的開始,而不是現在的 1 月(1 月)

我不知道從哪里開始。

幫助。

您需要重新排序因子的水平。

df1$month <- factor(df1$month, levels = c("Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"))

那么你也不需要fill=as.factor(month)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM