R语言 如何标注X轴上的所有数据点?

rpppsulh  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(183)

我有一个df,看起来像这样:

Year Type n
2012 PTS 1
2012 POS 2
2013 POS 4
2013 PTS 6
2014 PTS 5
2014 PTS 6
2015 POS 3
2015 PTS 8
2016 POS 10
2016 PTS 11

我正在尝试制作一个以年份为x轴的折线图。
我尝试使用以下命令创建geom_line图形:

df%>%
  ggplot()+
  geom_line(aes(x=Year, y= n, color= `Type`))

然而,我并没有在图表的x轴上得到所有的标签。我的df有很多年,它在x轴上以5为间隔显示年数。我尝试使用下面的代码,但我得到“Error in check_breaks_labels(breaks,labels):找不到对象'Year'”

df%>%
  ggplot()+
  geom_line(aes(x=Year, y= n, color= `Type`))+
  scale_x_continuous("Year", labels = as.character(Year), breaks = Year)

我该怎么修呢?

m1m5dgzv

m1m5dgzv1#

另一个选项是从Year列的minmax创建序列。

library(tidyverse)

df %>%
  ggplot() +
  geom_line(aes(x = Year, y = n, color = `Type`)) +
  scale_x_continuous(breaks = seq(min(df$Year), max(df$Year), 1))

输出

数据

df <- structure(list(Year = c(2012L, 2012L, 2013L, 2013L, 2014L, 2014L, 
2015L, 2015L, 2016L, 2016L), Type = c("PTS", "POS", "POS", "PTS", 
"PTS", "PTS", "POS", "PTS", "POS", "PTS"), n = c(1L, 2L, 4L, 
6L, 5L, 6L, 3L, 8L, 10L, 11L)), class = "data.frame", row.names = c(NA, 
-10L))

相关问题