使用列中的变量在ggplot中绘制折线图

时间:2018-05-14 15:15:37

标签: r ggplot2

我的数据集以这种方式组织:

factor <- c("group1", "group2", "group2")
X <- c("A", "B", "C")
V1 <- c(1:3)
V2 <- c(7:9)
V3 <- c(13:15)

df <- data.frame(factor, X, V1, V2, V3)
df
  factor X V1 V2 V3
1 group1 A  1  7 13
2 group2 B  2  8 14
3 group2 C  3  9 15

我想代表折线图:

  • X轴表示X(A,B,C)
  • Y轴表示V1,V2和V3的值
  • 我想在单个图表中表示这三行,每个变量一个(V1,V2,V3)。
  • 我想根据因子变量对每一行的部分颜色进行不同的颜色,这样一条线(例如V1)部分由两种颜色表示(比方说红色的group1和绿色的group2)。

1 个答案:

答案 0 :(得分:2)

您可能首先想要tidy您的数据 - 这必须是重复的,但无法快速找到...

library(tidyverse)

df %>%
  gather(key, value, -factor, -X) %>%
  ggplot(., aes(x = X, y = value, group = key, color = factor)) +
  geom_line(size = 2)

plot