【发布时间】:2015-11-28 13:14:58
【问题描述】:
我正在使用 ggplot 和 geom_tile 绘制一个连续变量。默认情况下,它使用连续的颜色条进行绘图。像这样的,
data <- cbind(ID = 1:100, a = runif(100, 0, 1), b = runif(100, 0, 1), c = runif(100, 0, 1))
data <- as.data.frame(data)
data <- melt(data, id.vars = "ID")
colnames(data) <- c("ID", "Parameter", "Value")
p <- ggplot(data, aes(y = ID, x = Parameter)) + geom_tile(aes(fill = Value))
print(p)
这会产生以下情节。
现在,我真正想要的是颜色与离散的、不规则的间隔相对应。例如,[0, 0.2) 为红色,[0.2, 0.5) 为蓝色,[0.5, 1.0] 为紫色。我希望这很简单,但我似乎无法弄清楚如何实现这一点。有什么建议吗?
【问题讨论】:
-
这个问题有帮助吗? stackoverflow.com/questions/18487369/…
-
这听起来像是
cut或Hmisc::cut2或同等职位的工作。代码可能类似于aes(fill = cut(Value, breaks = c(0, .2, .5, 1), include.lowest = TRUE)),然后在scale_fill_manual中设置颜色/图例名称。