【问题标题】:how to create separate line charts for different groups in the same dataframe?如何为同一数据框中的不同组创建单独的折线图?
【发布时间】:2021-08-06 12:18:35
【问题描述】:

我有一个数据集 df,我想为每个唯一 ID 生成单独的折线图,但在同一页面中,x 轴为日期,y 轴为值。原因是每个 ID 的值范围不同,如果我将其放在同一个图表中,我将无法看到所有 ID 的线。

dput(df)
structure(list(ID = c("F1", "F1", "F1", "F1", "F1", "F1", "F1", 
"F2", "F2", "F2", "F2", "F2", "F2", "F2", "F2", "F3", "F3", "F3", 
"F3", "F3", "F3", "F3", "F3", "F3", "F4", "F4", "F4", "F4", "F4", 
"F4", "F4", "F4"), Date = c("22/6/2021", "23/6/2021", "24/6/2021", 
"25/6/2021", "26/6/2021", "27/6/2021", "28/6/2021", "22/6/2021", 
"23/6/2021", "24/6/2021", "25/6/2021", "26/6/2021", "27/6/2021", 
"28/6/2021", "29/6/2021", "22/6/2021", "23/6/2021", "24/6/2021", 
"25/6/2021", "26/6/2021", "27/6/2021", "28/6/2021", "29/6/2021", 
"30/6/2021", "22/6/2021", "23/6/2021", "24/6/2021", "25/6/2021", 
"26/6/2021", "27/6/2021", "28/6/2021", "29/6/2021"), Values = c(9.6, 
9.8, 10.2, 9.8, 9.9, 9.9, 9.9, 1.2, 1.2, 1.8, 1.5, 1.5, 1.6, 
1.4, 1.1, 3266, 3256, 7044, 6868, 6556, 3405, 3410, 3980, 5567, 
59.4, 56, 52.8, 52.4, 55.5, 54, 61, 53.6)), class = "data.frame", row.names = c(NA, 
-32L))

这是一个包含所有 ID 线条的折线图。我正在尝试为每个 ID 创建不同的折线图

ggplot(data = df, aes(x = factor(Date), y = Values, color = ID)) +       
  geom_line(aes(group = ID)) + geom_point()

【问题讨论】:

  • 您在寻找刻面吗? + facet_wrap(~ID, scales = 'free')
  • 这很有帮助,我还有一个问题。 ID 的顺序是 F1,F2,F3,F4 。当我绘制的情节是这样的顺序F1,F4,F2,F3。你知道这是为什么吗? @RonakShah

标签: r ggplot2 linechart


【解决方案1】:

使用facet_wrap

ggplot(data = df, aes(x = factor(Date), y = Values, color = ID)) +       
  geom_line(aes(group = ID)) + geom_point() + 
  facet_wrap(~ID, scales = 'free_y')

创建您自己的订单

ggplot(data = df, aes(x = factor(Date), y = Values, color = ID)) +       
  geom_line(aes(group = ID)) + geom_point() + 
  facet_wrap(~factor(ID,
                     levels=c("F1", "F2", "F3", "F4")), 
             scales = 'free_y')

【讨论】:

  • 这很有帮助,我还有一个问题。 ID 的顺序是 F1,F2,F3,F4 。当我绘制的情节是这样的顺序F1,F4,F2,F3。你知道这是为什么吗? @dy_by
  • facor 应该会有所帮助。省略 levels 以保持字母顺序。在上面添加。
猜你喜欢
  • 2021-05-09
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
  • 1970-01-01
  • 1970-01-01
  • 2022-08-20
相关资源
最近更新 更多