使用因子变量在不同的ggplot2图表中使用统一的调色板

时间:2015-02-03 12:03:59

标签: r ggplot2 color-palette

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

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

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

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

Bar chart of the cluster variable

如果我制作一个散点图并尝试根据它们属于一个簇来对观察结果进行着色,我会得到这个结果(注意调色板是不同的):

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

Scatterplot with observations colored according to their cluster

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

如果没有可重现的示例,我无法确定这会在您的具体情况下有效,但我有理由相信,您需要做的就是在aes()调用中设置颜色你想要的颜色。也就是说,

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