【问题标题】:How to plot multiple columns on the x axes on one scatter plot using ggplot2?如何使用ggplot2在一个散点图的x轴上绘制多列?
【发布时间】:2020-09-04 15:27:22
【问题描述】:

我是编码和 R 的新手,我有这个数据集,我想使用 ggplot2 包用一条线散点图。基本上,我想按年份显示每个年级(G3-G8)的测试次数。我想要“x”轴上的所有成绩和“y”轴上的年份。我尝试了 (tidyr/gather) 和 (reshape2/melt) 但我不断收到错误消息。

Year    G3  G4  G5  G6  G7  G8
2003    6   10  8   4   6   8
2004    10  12  4   12  19  10
2005    11  9   13  10  13  11
2006    26  25  28  37  32  19
2007    5   1   3   4   3   1
2008    4   2   4   4   4   2
2009    6   4   8   8   8   6
2010    5   5   5   5   5   5
2011    8   8   8   8   8   8
2012    6   6   6   6   6   6
2013    3   3   3   3   3   3
2014    5   4   4   4   4   4
2015    60  60  60  60  60  60
2016    26  26  26  26  26  26
2017    6   6   6   6   6   6
2018    18  18  18  18  18  18

【问题讨论】:

  • 你是如何尝试收集和融化的?您收到什么错误消息?

标签: r ggplot2 tidyr


【解决方案1】:

这是tidyr 包中的pivot_longer 的一种方法。

您在第一句话中所说的“我想按年份显示每个年级 (G3-G8) 的考试次数”与您在下一句中的变量映射之间略有脱节。但如果这不是您想要的,也许您可​​以从这里编辑它。

library(tidyr)
library(ggplot2)
data %>%
  pivot_longer(-Year,names_to = "Grade", values_to = "NumberTests") %>%
ggplot(aes(x = Year, y = NumberTests, color = Grade)) +
  geom_line() + 
  geom_point()

【讨论】:

  • 谢谢!!这正是我想要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多