我有三列数据,标题为Date
,Upstream
和Downstream
。我想创建一个图表,其x轴为Date
,Upstream
和Downstream
为两行。
我将'Date'格式化为yyyy-mm-dd
,但我在使用此格式创建折线图时遇到了麻烦。这是我到目前为止所尝试的内容。
ggplot(data1, aes(Date, Upstream)) +
geom_line() +
scale_x_date (format = "%b-%Y") +
xlab("") + ylab("Height")
答案 0 :(得分:1)
我假设您的数据看起来像这样
data1 <- data.frame(
date=seq(as.Date("2012-01-01"),as.Date("2012-01-31"), by="1 day"),
Upstream = runif(31,5,7),
Downstream = runif(31,2,3.5)
)
现在,为了将两条不同的线条绘制成不同的列,我们需要为每条线添加一个图层。我们通过多次调用具有不同美学的geom_line
来实现此目的。这是使用此测试数据的可能性。
library(ggplot2)
library(scales)
ggplot(data1, aes(x=date)) +
geom_line(aes(y=Upstream, color="up")) +
geom_line(aes(y=Downstream, color="down")) +
scale_x_date(labels = date_format("%b-%Y")) +
xlab("") + ylab("Height") +
scale_color_manual(name="Stream", values=c(up="blue",down="red"))
结果是