R 如何从特定月份开始绘制x轴的ggplot

R 如何从特定月份开始绘制x轴的ggplot,r,ggplot2,tidyverse,lubridate,purrr,R,Ggplot2,Tidyverse,Lubridate,Purrr,我想画一张从11月开始到明年的足球赛季的月度进球图表。所以我想要x轴 11月、12月、1月等 这就是我要处理一些玩具数据的地方 library(tidyverse) library(lubridate) df <- data.frame(date = as.Date(c("2017-11-01","2017-11-15", "2017-12-01","2017-12-15",

我想画一张从11月开始到明年的足球赛季的月度进球图表。所以我想要x轴 11月、12月、1月等

这就是我要处理一些玩具数据的地方

library(tidyverse)
library(lubridate)
df <- data.frame(date = as.Date(c("2017-11-01","2017-11-15",
                              "2017-12-01","2017-12-15",
                              "2018-01-01","2018-01-15")),
             goals = c(3,2,0,1,3,5))

df %>% 
  mutate(month=month(date,label = TRUE)) %>% 
  group_by(month) %>% 
  summarize(totGoals=sum(goals)) %>% 
  ggplot(aes(month,totGoals)) +
  geom_bar(stat = "identity")
库(tidyverse)
图书馆(lubridate)
df%
变异(月=月(日期,标签=真))%>%
分组单位(月)%>%
总结(总目标=总结(目标))%>%
ggplot(aes(月、目标))+
几何图形栏(stat=“identity”)

理想情况下,我希望使用purrr软件包来解决这个问题,但在处理fct_重新排序和fct_重新级别时遇到了困难。”“月”是一个有序因子


TIA

我们可以将
列转换为因子,并设置以
Nov
开始的水平<代码>月份。abb是一个内置的R对象,带有月份缩写

df %>% 
  mutate(month=month(date,label = TRUE)) %>% 
  group_by(month) %>% 
  summarize(totGoals=sum(goals)) %>% 
  mutate(month = factor(month, levels = c(month.abb[11:12], month.abb[1:10]))) %>%
  ggplot(aes(month,totGoals)) +
  geom_bar(stat = "identity") 

我们可以将
列转换为因子,并设置以
Nov
开始的级别<代码>月份。abb是一个内置的R对象,带有月份缩写

df %>% 
  mutate(month=month(date,label = TRUE)) %>% 
  group_by(month) %>% 
  summarize(totGoals=sum(goals)) %>% 
  mutate(month = factor(month, levels = c(month.abb[11:12], month.abb[1:10]))) %>%
  ggplot(aes(month,totGoals)) +
  geom_bar(stat = "identity") 

绘制YYYY-MM而不仅仅是MM,这样它就可以按年订购

library(tidyverse)
library(lubridate)
df <- data.frame(date = c("2017-11","2017-11",
                          "2017-12","2017-12",
                          "2018-01","2018-01"),
                 goals = c(3,2,0,1,3,5))

df = df %>% 
  group_by(date) %>% 
  summarize(totGoals=sum(goals))

plot = ggplot(df, aes(date,totGoals)) +
  geom_bar(stat = "identity")

print(plot)
库(tidyverse)
图书馆(lubridate)
df%
分组单位(日期)%>%
总结(总目标=总和(目标))
绘图=ggplot(df、aes(日期、目标))+
几何图形栏(stat=“identity”)
打印(绘图)

绘制YYYY-MM而不仅仅是MM,这样它就可以按年订购

library(tidyverse)
library(lubridate)
df <- data.frame(date = c("2017-11","2017-11",
                          "2017-12","2017-12",
                          "2018-01","2018-01"),
                 goals = c(3,2,0,1,3,5))

df = df %>% 
  group_by(date) %>% 
  summarize(totGoals=sum(goals))

plot = ggplot(df, aes(date,totGoals)) +
  geom_bar(stat = "identity")

print(plot)
库(tidyverse)
图书馆(lubridate)
df%
分组单位(日期)%>%
总结(总目标=总和(目标))
绘图=ggplot(df、aes(日期、目标))+
几何图形栏(stat=“identity”)
打印(绘图)

比我快:)@Tung离得很近!很高兴我们有相同的想法。快告诉我:)@Tung,很接近!很高兴我们有相同的想法。这是一个有趣的选项,但我想显示月份标签,并将图表ir现实生活版本扩展到一个方面,持续几个季度。这是一个有趣的选项,但我想显示月份标签,并将图表ir现实生活版本扩展到一个方面,持续几个季度