我注意到这里Box and whiskers plot电话:
p + geom_boxplot(aes(fill = factor(cyl)))
为箱形图填充生成明亮的红色/绿色/蓝色,同时:
p + geom_boxplot(aes(fill = factor(vs)))
产生明显的淡绿色/红色 . 在我的数据中,我得到了第二组颜色,但是想要第一组颜色(比如
p + geom_boxplot(aes(fill = factor(cyl)))
什么控制ggplot使用哪种颜色,你如何改变它?
谢谢
2 回答
默认颜色是色轮周围均匀分布的色调 . 您可以从here查看这是如何生成的 .
你可以使用
scale_fill_manual
这些颜色:在这里,我使用了_256711_来自
cyl
来获取颜色 .或者,您可以使用另一个调色板,如下所示:
要查找调色板中的颜色,您可以执行以下操作:
如果您有兴趣,请查看包裹以了解调色板和其他选项 .
Edit: @ user248237dfsf,正如我在顶部的链接中指出的那样,来自@Andrie的这个函数显示了生成的颜色:
如果你看一下生成的两种颜色,第一种颜色是相同的,但是当n = 2且n = 3时,第二种颜色是不一样的 . 这是因为它产生均匀间隔色调的颜色 . 如果要将
cyl
的颜色用于vs
,则必须设置scale_fill_manual
并使用此函数中n = 3生成的这些颜色 .要确认这确实是您正在发生的事情:
现在,如果你这样做:
您会看到这些是使用
ggplotColours
生成的颜色,差异的原因也很明显 . 我希望这有帮助 .添加到以前的答案:
使用
col
美学(而不是fill
)时,请使用scale_color_manual
. 这对于geom_point()
非常有用: