ggplot删除特定的x轴标签 库(tidyverse) df

ggplot删除特定的x轴标签 库(tidyverse) df,r,ggplot2,R,Ggplot2,我建议研究R中的Lubridate包-您可以将任何混乱的日期值转换为适当的POSIXT格式,还可以非常轻松地提取月份信息-您还可以将这些日期转换为实际月份的一列,并将其用作轴标签,这是清洁,因为你会有一个额外的列只是相应的月份-你也可以填写该月的基础上,做一些其他很酷的事情 您可以通过使用seq.date设置中断来实现所需: library(tidyverse) df <- data.frame(date = as.Date(c("2017-12-01", "2018-01-01", "

我建议研究R中的Lubridate包-您可以将任何混乱的日期值转换为适当的POSIXT格式,还可以非常轻松地提取月份信息-您还可以将这些日期转换为实际月份的一列,并将其用作轴标签,这是清洁,因为你会有一个额外的列只是相应的月份-你也可以填写该月的基础上,做一些其他很酷的事情

您可以通过使用seq.date设置中断来实现所需:

library(tidyverse)

df <- data.frame(date = as.Date(c("2017-12-01", "2018-01-01", "2018-02-01", 
                                  "2018-03-01", "2018-04-01", "2018-05-01", 
                                  "2018-06-01", "2018-07-01", "2018-08-01", 
                                  "2018-09-01", "2018-10-01", "2018-11-01")), 
                 value = c(0.567859562, 0.514907158, 0.035399304, 0.485728823, 
                           0.925127361, 0.237531067, 0.301930968, 0.133373326, 
                           0.082275426, 0.464255614, 0.2366749, 0.652084264))

ggplot(df, aes(date, value)) + 
  geom_col() + 
  scale_x_date(date_breaks = "1 month", 
                 date_labels = "%b") + 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3))
library(tidyverse);图书馆(lubridate)

我想这就是你想要的。
日期中断
是不必要的

library(tidyverse);library(lubridate)

df <- data.frame(date = as.Date(c("2017-12-01", "2018-01-01", "2018-02-01", 
                                  "2018-03-01", "2018-04-01", "2018-05-01", 
                                  "2018-06-01", "2018-07-01", "2018-08-01", 
                                  "2018-09-01", "2018-10-01", "2018-11-01")), 
                 value = c(0.567859562, 0.514907158, 0.035399304, 0.485728823, 
                           0.925127361, 0.237531067, 0.301930968, 0.133373326, 
                           0.082275426, 0.464255614, 0.2366749, 0.652084264))



ggplot(df, aes(date, value)) + 
  geom_col() + 
  scale_x_date(
               date_labels = "%b",
               breaks = seq.Date(ymd("2017-12-01"),ymd("2018-11-01"), by = "month")) + 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3))

在这种情况下是否需要顺序?我可以看出,这是一个选择标签的有用且更灵活的工具,很高兴知道,但我的理解是,提问者只是想显示其df中的日期,而不是由日期分隔符添加的图书结束日期,因此他们可以简单地引用这些日期。
ggplot(df, aes(date, value)) + 
  geom_col() + 
  scale_x_date(date_labels = "%b", breaks = df$date) + 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3))