0

我正在尝试绘制多条线并使用 ggplot 自动为绘制的线分配颜色。我有以下示例代码:

library(ggplot2)

A <- data.frame(x=0:10,y=0:10)
B <- data.frame(x=(seq(from=0, to=10, by=1)), y=(seq(from=0, to=5, by=0.5)))
C <- data.frame(x=(seq(from=0, to=5, by=0.5)), y=(seq(from=0, to=10, by=1)))

ggplot()+
  geom_line(data=A, aes(x=x, y=y))+
  geom_line(data=B, aes(x=x, y=y))+
  geom_line(data=C, aes(x=x, y=y))+
  coord_equal()

我知道我可以通过以下方式手动设置:

geom_line(data=A, aes(x=x, y=y, col="red"))+

等等,但是有什么方法可以自动分配颜色吗?

4

1 回答 1

2

您应该将所有数据框放在一个中,然后为每一行添加一些具有标识符的列。

new.df<-rbind(A,B,C)
new.df$ID<-rep(c("A","B","C"),c(nrow(A),nrow(B),nrow(C)))

然后使用这个新列来设置颜色。

ggplot(new.df,aes(x,y,color=ID))+geom_line()

在此处输入图像描述

于 2013-06-13T12:08:04.817 回答