GGPLORT多线图上缺少图例 [英] Missing legend on ggplot multi-line plot

查看:14
本文介绍了GGPLORT多线图上缺少图例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从包含每年的最小值、平均值和最大值的数据框中绘制每年的温度数据。我一直无法在我的剧情中找到一个传奇人物。理想情况下,图例应具有图例标题,并将线条颜色标记为最小、平均和最大。

如有任何帮助,我们将不胜感激。

数据如(示例),数据名为"s":

Example data

代码:

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)")

情节:

推荐答案

这里有一些与您的数据类似的可复制数据:

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()

这篇关于GGPLORT多线图上缺少图例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆