【发布时间】:2018-03-16 12:27:29
【问题描述】:
我想在此图表的每个条形中创建一个从红色(低)到绿色(高)的渐变。
目前我在geom_col 中使用特定颜色,但希望每个单独的条形图根据它所描绘的值从红色变为绿色。
这是我的图表的简化版本(图表上还有一个geom_line(以及其他一些内容,例如标题、轴调整等),但它与这个问题无关,所以我有将其从示例中排除):
我已经从列中删除了硬编码的颜色,并尝试使用诸如 scale_fill_gradient(以及许多其他类似函数)之类的东西来对所述列应用渐变,但似乎没有任何效果。
这是我使用scale_fill_gradient(low = "red", high = "green")时的输出:
我想要的是每个条都有自己的渐变,而不是每个条代表所述渐变中的一个步骤。
如何使用ggplot2 实现这一目标?
上述(绿色)示例的代码:
ggplot(data = all_chats_hn,
aes(x = as.Date(date))) +
geom_col(aes(y = total_chats),
colour = "black",
fill = "forestgreen")
【问题讨论】:
-
您的
geom_line使用colour美学吗? -
@bouncyball 是的,确实如此,但即使在我提供的示例代码中,它仍然无法产生所需的输出。