我正在从包含每年最小值,平均值和最大值的数据框中按年绘制年度温度数据。我一直无法在我的情节上得到一个传奇。理想情况下,图例应具有图例标题,并将线条颜色标记为Min,Mean和Max。
任何帮助都将不胜感激。
数据看起来像(示例),数据名为“s”:
代码:
ggplot(s, aes(Year)) +
geom_line(aes(y=min), color="blue") +
geom_line(aes(y=mean), color="green") +
geom_line(aes(y=max), color="red") +
ggtitle("Fort Collins Mean Annual Temperature") +
ylab("Temperature (degF)")
剧情:
答案 0 :(得分:1)
以下是一些与您类似的可重现数据:
set.seed(123)
df1 <- data.frame(Year = 1893:1903,
min = sample(-5:10, 11, replace = TRUE),
mean = sample(50:70, 11, replace = TRUE),
max = sample(90:100, 11, replace = TRUE),
n = sample(150:350, 11, replace = TRUE))
如果gather
将温度分成一列并按类型标记,则图例会自行处理。
library(tidyverse)
df1 %>%
gather(measurement, value, -n, -Year) %>%
ggplot(aes(Year, value)) +
geom_line(aes(group = measurement, color = measurement)) +
scale_x_continuous(breaks = 1893:1903) +
labs(y = "Temperature (F)", title = "Fort Collins Annual Temperature") +
theme_bw()