在R中通过自动分配将图例添加到散点图

时间:2019-01-03 22:34:05

标签: r

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

我有

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

它制作了不完整的图例

enter image description here

1 个答案:

答案 0 :(得分:1)

这有效:

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

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

enter image description here

您也可以使用ggplot2进行此操作,它提供了更友好的绘图语法以及自动生成的图例:

library(tidyverse)

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

enter image description here