绘制 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 轴上。请给我一个解决这个问题的方法
谢谢。
如果您有更广泛的年份或需要将代码重用于其他地块,那么您可以在年份上使用 max
和 min
。
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")
输出
我有一个数据框,其中有一列是年份,另一列是年份的频率计数。 我的数据框如下所示
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 轴上。请给我一个解决这个问题的方法
谢谢。
如果您有更广泛的年份或需要将代码重用于其他地块,那么您可以在年份上使用 max
和 min
。
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")
输出