【发布时间】:2019-10-26 09:19:47
【问题描述】:
我正在尝试绘制一个在两个变量(一个因子和一个强度)上着色的图。我希望每个因素都是不同的颜色,并且我希望强度是白色和该颜色之间的渐变。
到目前为止,我已经使用了诸如对因子进行刻面、将颜色设置为两个变量之间的交互、将颜色设置为因子、将 alpha 设置为强度来近似我想要的技术。但是,我仍然觉得在一个情节上白色和全色之间的渐变最能代表这一点。
有没有人知道如何在不自定义创建所有颜色渐变并仅设置它们的情况下做到这一点?此外,有没有办法让图例像使用颜色和 alpha 一样工作,而不是像在为交互设置颜色时那样列出所有颜色?
到目前为止我已经尝试过:
ggplot(diamonds, aes(carat, price, color=color, alpha=cut)) +
geom_point()
ggplot(diamonds, aes(carat, price, color=interaction(color, cut))) +
geom_point()
ggplot(diamonds, aes(carat, price, color=color)) +
geom_point() +
facet_wrap(~cut)
我想要实现的是看起来最像使用 alpha 的图形,但不是透明度,我想要白色和那种颜色之间的渐变。此外,我希望图例看起来像使用颜色和 alpha 的图例,而不是交互图中的图例。
【问题讨论】:
-
我会选择
facet_wrap选项并查看scale_color_gradient*函数之一以获得所需的颜色渐变。多个变量的相同美学在ggplot中效果不佳。