绘制 R 数据框中提到的所有年份

Plot all the years mentioned in a dataframe in R

我有一个数据框,其中有一列是年份,另一列是年份的频率计数。 我的数据框如下所示

year <- c(2013,2014,2015,2016,2017,2018,2019,2020,2021,2022)
freq <- c(3, 12, 16, 11, 36, 32, 20, 30 ,41, 33)
df <- data.frame(year, freq)

我正在尝试使用 ggplot 绘制折线图。但是所有年份都没有绘制在 x 轴上。我希望将“年”列中的所有年份绘制在 x 轴上,并将它们各自的频率绘制在 y 轴上。请给我一个解决这个问题的方法

谢谢。

如果您有更广泛的年份或需要将代码重用于其他地块,那么您可以在年份上使用 maxmin

library(tidyverse)

ggplot(df, aes(x = year, y = freq)) + 
  geom_line() + 
  scale_x_continuous(breaks = c(min(df$year):max(df$year))) +
  theme_bw() +
  xlab("Year") +
  ylab("Frequency")

或者按照@r2evans 的建议,您也可以直接提供年份。

ggplot(df, aes(x = year, y = freq)) + 
  geom_line() + 
  scale_x_continuous(breaks = c(2013:2022)) +
  theme_bw() +
  xlab("Year") +
  ylab("Frequency")

输出