【问题标题】:Plotting two line graphs in 1 [duplicate]在 1 中绘制两个折线图 [重复]
【发布时间】:2016-09-27 22:33:02
【问题描述】:

我有一个包含 3 列的数据框,分别称为 x1y1ay1bx1 是从 2015-01-012015-04-30 的日期序列。 y1ay1b 列包含与 x1 中的每个日期对应的值。我想用y1ay1bx1 的线图绘制一个图表并提供标签。 我试过了

x1 <- seq(as.Date("2015-01-01"), as.Date("2015-04-30"), by = "day")
y1a <- rnorm(length(x1))
y1b <- rnorm(length(x1))

plot.co.one <- data.frame(x1, y1a, y1b)

require(ggplot2)

ggplot(plot.co.one, aes(x1)) + 
  geom_line(aes(y=y1a), colour = "red") +
  geom_line(aes(y=y1b), colour = "green")

但不知何故,它不显示标签。

【问题讨论】:

  • 考虑添加一个小的示例数据集。无论如何,请考虑包含您收到的错误声明。

标签: r plot graph ggplot2 timeserieschart


【解决方案1】:

我认为 R 不将 Date_2015 识别为“日期”类。
如果您将“ x1

[编辑] 抱歉,我无法理解您的问题。

library(ggplot2); library(tidyr)

# Using Mr. Manuel's code, thanks.
x1 <- seq(as.Date("2015-01-01"), as.Date("2015-04-30"), by = "day")
y1a <- rnorm(length(x1))
y1b <- rnorm(length(x1))
plot.co.one <- data.frame(x1, y1a, y1b)

# "key" becomes a col name, and a legend title. Value also becomes col name and ylab.
plot.co.one2 <- gather(plot.co.one, key="y1_ab", value = y1, -x1)
ggplot(plot.co.one2, aes(x = x1, y = y1, colour = y1_ab)) + geom_line() + 
  scale_colour_manual(values = c("red", "green"))

【讨论】:

    【解决方案2】:

    诀窍是将颜色映射(未设置)到变量,使其出现在图例中!

    这是一些示例数据集和图表

    library(ggplot2)
    
    x1 <- seq(as.Date("2015-01-01"), as.Date("2015-04-30"), by = "day")
    y1a <- rnorm(length(x1))
    y1b <- rnorm(length(x1))
    
    plot.co.one <- data.frame(x1, y1a, y1b)
    
    ggplot(plot.co.one, aes(x = x1)) + 
      geom_line(aes(y = y1a, colour = "Line 1")) +
      geom_line(aes(y = y1b, colour = "Line 2")) +
      labs(colour = "Timeseries")
    

    另类

    作为一种替代方法,您始终可以将列合二为一,然后进行绘图

    library(tidyr)
    library(dplyr)
    
    alternative <- plot.co.one %>% 
      rename("Line 1" = y1a, "Line 2" = y1b) %>% 
      gather("Timeseries", "Value", `Line 1`:`Line 2`)
    
    ggplot(alternative, aes(x = x1, y = Value, colour = Timeseries)) + 
      geom_line()
    

    这给出了相同的结果(轴标签除外)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 2016-02-27
      • 2015-10-17
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 2015-08-08
      相关资源
      最近更新 更多