在一个 ggplot 图例中按颜色和大小分类

categorize with color and size in one ggplot legend

我想绘制一些在 ggplot 中按大小和颜色分类的数据。例如:

require(ggplot2)

ggplot(mtcars, aes(wt, mpg)) + 
  geom_point(aes(size = qsec, color = qsec)) + 
  scale_colour_gradient(limits=c(15, 23), low = "blue", high = "red")

我要如何更改它才能使颜色和尺寸都显示在同一个图例中?

首先需要在scale_color_gradient内指定guide = 'legend'(默认为"colourbar")。然后当然您需要对 colorsize 比例使用相同的限制。

ggplot(mtcars, aes(wt, mpg)) + 
  geom_point(aes(size = qsec, color = qsec)) + 
  scale_colour_gradient(limits=c(15, 23), low = "blue", high = "red", guide = 'legend') +
  scale_size_continuous(limits=c(15, 23))