如何在 [R] 中自动添加图例?

TMO*_*TTM 5 r legend

plot(airquality$Wind, airquality$Ozone, col=airquality$Month)
Run Code Online (Sandbox Code Playgroud)

除了手动找出哪个颜色代码之外,如何使用正确分配的颜色向绘图添加图例Month


编辑并在订购后得到一个非常好的情节:

with(
    airquality,
    xyplot(airquality[order(Wind), ]$Ozone ~ airquality[order(Wind), ]$Wind,
    groups=Month, type="b",
    auto.key=list(title="Month", corner=c(0.95, 1.0)))
)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

jba*_*ums 5

中包含的数字airquality$Month定义了特定的颜色(以及特定的月份)。您可以让 R 在构建图例时使用这些数字:

legend('topright', month.abb[unique(airquality$Month)], 
       col=unique(airquality$Month), pch=21)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

或者,lattice提供auto.key参数,例如其xyplot函数:

library(lattice)
xyplot(airquality$Ozone ~ airquality$Wind, groups=airquality$Month,
       auto.key=list(title="Month", corner=c(0.95, 1)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

编辑: 以及ggplot方法,如@MrFlick 在评论中提供的。

library(ggplot2)
ggplot(airquality, 
       aes(Wind, Ozone, col=factor(Month, levels=1:12, labels=month.name))) + 
  geom_point() + scale_color_discrete(name="Month")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述