我有一个如下所示的数据框:
>View(gaps)
ID | MONTH | MEAN | CATEGORY
1 | 2012-01-01 | 20 | No Gap
1 | 2012-02-01 | 30 | No Gap
1 | 2012-03-01 | 5 | Gap
2 | 2012-01-01 | 55 | No Gap
2 | 2012-02-01 | 50 | No Gap
2 | 2012-03-01 | 55 | No Gap
我想绘制一个使用MEAN连续缩放的热图,但我想在CATEGORY值为“Gap”的地方覆盖此填充,使得图块简单,不变,单色为红色。
设置将是这样的:
>p <- ggplot(gaps, aes(x=MONTH, y=ID, fill = MEAN))
>p <- p + geom_tile()
>p <- p + scale_fill_gradient(low="firebrick3", high="darkolivegreen2", space="Lab")
>p
有没有办法覆盖“Gap”实例的填充?谢天谢地。
答案 0 :(得分:1)
如果您不想担心任何真正的NA
值,可以将相应的MEAN
值设置为NA
,然后在na.value
中指定scale_fill_gradient
{1}}:
ggplot(gaps, aes(x=MONTH, y=ID, fill = ifelse(CATEGORY=="Gap", NA, MEAN))) +
geom_tile() +
scale_fill_gradient(low="firebrick3", high="darkolivegreen2",
space="Lab", na.value="red")