在具有因子变量的不同 ggplot2 图之间使用统一的调色板

Using a uniform color palette among different ggplot2 graphs with factor variable

我正在使用 ggplot2 创建关于相同数据的多个图。特别是我有兴趣根据具有 6 个级别的因子变量绘制观察结果 ("cluster")。

但是 ggplot2 生成的图每次都使用不同的调色板!

例如,如果我用这个公式制作条形图,我会得到这个结果(这个调色板是我期望获得的):

qplot(cluster, data = data, fill = cluster) + ggtitle("Clusters")

如果我绘制一个散点图并尝试根据它们属于一个集群来为观察值着色,我会得到这个结果(注意调色板不同):

ggplot(data, aes(liens_ratio,RT_ratio)) +
  geom_point(col=data$cluster, size=data$nombre_de_tweet/100+2) +
  geom_smooth() +
  ggtitle("Links - RTs")

知道如何解决这个问题吗?

如果没有可重现的示例,我无法确定这是否适用于您的特定情况,但我有理由相信您需要做的就是在 aes() 调用 [=20] 中设置颜色=]在你想要着色的几何体中。也就是说,

ggplot(data, aes(x = liens_ratio, y = RT_ratio)) +
  geom_point(aes(color = cluster, size = nombre_de_tweet/100+2)) +
  geom_smooth() +
  ggtitle("Links - RTs")

如果您制作的所有图都使用相同的数据和这种基本格式,则无论使用何种几何图形,调色板都应该相同。其他元素,例如来自 geom_smooth() 的行将不会更改,除非它们也被显式着色。

当然,调色板只是默认的;将其更改为 scale_color_manual.