如何使用ggplot向图表添加其他行标签/组标签?

时间:2014-04-02 19:18:07

标签: r ggplot2 label

我创建了一个基于组的图表,然后更改子组上的点的颜色。

我该如何标记这些线?

我已经创建了一些示例数据和代码。我有更多的数据点和更多的行。

线条基于Day,子组基于燃料。正如你在传奇中看到的那样。我只知道哪一种燃料不是哪一行是第1天或第2天。

Price <- seq(1, 20, by=1)
MW <- seq(1, 200, by=10)
fuel <- rep(c("Coal", "Gas", "Hydro", "Other"), each=5)
Day <- rep(1, each=20)
df1 <- data.frame(Price, MW,fuel, Day)

Price<-seq(0, 19, by=1)
MW <- seq(1, 100, by=5)
Day <- rep(2, each=20)
df2 <- data.frame(Price, MW, fuel, Day)

df <- rbind(df1, df2)
df <- df[with(df, order(Day, Price, fuel)), ]

library(ggplot2)
ggplot(df, aes(x=MW, y=Price, group=Day))+
    geom_line(aes(colour=fuel))+
    geom_point(aes(colour=fuel))

enter image description here

1 个答案:

答案 0 :(得分:0)

一个真正快速的方法是使用不同形状的点:

gg <- ggplot(df, aes(x=MW, y=Price, group=Day))
gg <- gg + geom_line(aes(colour=fuel))+
gg <- gg + geom_point(aes(colour=fuel, shape=Day))
gg

plot

否则,您可以使用标签添加geom_text()图层。