【发布时间】:2018-05-11 05:53:29
【问题描述】:
我对 ggplot2 中的图例有疑问。我设法在同一个图中绘制了三条线,并想添加一个使用三种颜色的图例。这是使用的代码
library(ggplot2)
require(RCurl)
link<-getURL("https://dl.dropbox.com/s/ds5zp9jonznpuwb/dat.txt")
datos<- read.csv(textConnection(link),header=TRUE,sep=";")
datos$fecha <- as.POSIXct(datos[,1], format="%d/%m/%Y")
temp = ggplot(data=datos,aes(x=fecha, y=TempMax,colour="1")) +
geom_line(colour="red") + opts(title="TITULO") +
ylab("Temperatura (C)") + xlab(" ") +
scale_y_continuous(limits = c(-10,40)) +
geom_line(aes(x=fecha, y=TempMedia,colour="2"),colour="green") +
geom_line(aes(x=fecha, y=TempMin,colour="2"),colour="blue") +
scale_colour_manual(values=c("red","green","blue"))
temp
和输出
我想添加一个图例,其中包含使用的三种颜色和变量名称(TempMax、TempMedia 和 TempMin)。我试过了
scale_colour_manual
但找不到确切的方法。
很遗憾,原始数据已从链接站点中删除,无法恢复。但它们来自这种格式的气象数据文件
"date","Tmax","Tmin","Tmed","Precip.diaria","Wmax","Wmed"
2000-07-31 00:00:00,-1.7,-1.7,-1.7,-99.9,20.4,20.4
2000-08-01 00:00:00,22.9,19,21.11,-99.9,6.3,2.83
2000-08-03 00:00:00,24.8,12.3,19.23,-99.9,6.8,3.87
2000-08-04 00:00:00,20.3,9.4,14.4,-99.9,8.3,5.29
2000-08-08 00:00:00,25.7,14.4,19.5,-99.9,7.9,3.22
2000-08-09 00:00:00,29.8,16.2,22.14,-99.9,8.5,3.27
2000-08-10 00:00:00,30,17.8,23.5,-99.9,7.7,3.61
2000-08-11 00:00:00,27.5,17,22.68,-99.9,8.8,3.85
2000-08-12 00:00:00,24,13.3,17.32,-99.9,8.4,3.49
【问题讨论】:
-
我仍然很好奇传说是否可以与情节的单独元素联系起来(例如不同的 geom_line)。
-
如果您只有 3 行,我建议您查看 dirrectlabels 包。 (LINK)
-
@TylerRinker 我以前曾将它用于其他目的,但现在 csgillespie 的答案对我来说效果更好
-
@EtienneLow-Décarie 你可以,但一般来说,前提是他们使用不同的美学。例如将一组线映射到颜色,将另一组线映射到线型。通常,在这种情况下,您也会将单独的数据传递给每个 geom。