首页 > 解决方案 > 在 R 中使用自动分配将图例添加到散点图

问题描述

我正在使用 AndersonIrisData 集。如何使用自动对应于填充值的图例制作散点图?

我有

plot(Petal.Length,col=Species)
legend(x="bottomright",legend = c('setosa','versicolor','virginica'))

它构成了一个不完整的传说

在此处输入图像描述

标签: r

解决方案


这有效:

legend(x="bottomright",legend = c('setosa','versicolor','virginica'), 
  col = unique(iris$Species), lty = 1)

您需要同时指定两者collty使其正常工作。请注意,颜色将按顺序分配,unique(iris$Species)因此如果您以不同的方式重新排序iris,您的颜色可能不匹配。

在此处输入图像描述

您也可以这样做,ggplot2它提供了更友好的绘图语法,以及自动生成图例:

library(tidyverse)

iris %>% mutate(ID = row_number()) %>% 
  ggplot(aes(ID,Petal.Length, color = Species)) + geom_point()

在此处输入图像描述


推荐阅读