在同一张图上使用ggplot 2将两个变量绘制成线条

在同一张图上使用ggplot 2将两个变量绘制成线条

这是一个很新的问题,但说我有这样的数据:

test_data <-
  data.frame(
    var0 = 100 + c(0, cumsum(runif(49, -20, 20))),
    var1 = 150 + c(0, cumsum(runif(49, -10, 10))),
    date = seq(as.Date("2002-01-01"), by="1 month", length.out=100)
  )

如何绘制两个时间序列?var0var1在同一张图上date在x轴上,使用ggplot2?加分var0var1不同的颜色,可以包括一个传说!

我相信这很简单,但我找不到任何例子。


饮歌长啸
浏览 1926回答 3
3回答

犯罪嫌疑人X

对于少量变量,您可以自己手动构建绘图:ggplot(test_data,&nbsp;aes(date))&nbsp;+&nbsp; &nbsp;&nbsp;geom_line(aes(y&nbsp;=&nbsp;var0,&nbsp;colour&nbsp;=&nbsp;"var0"))&nbsp;+&nbsp; &nbsp;&nbsp;geom_line(aes(y&nbsp;=&nbsp;var1,&nbsp;colour&nbsp;=&nbsp;"var1"))

泛舟湖上清波郎朗

一般方法是将数据转换为长格式(使用melt()从包装reshape或reshape2)或gather()从tidyr一揽子:library("reshape2")library("ggplot2")test_data_long&nbsp;<-&nbsp;melt(test_data,&nbsp;id="date")&nbsp;&nbsp;#&nbsp;convert&nbsp;to&nbsp;long&nbsp;formatggplot(data=test_data_long, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aes(x=date,&nbsp;y=value,&nbsp;colour=variable))&nbsp;+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;geom_line()
打开App,查看更多内容
随时随地看视频慕课网APP