【发布时间】:2012-04-23 06:02:15
【问题描述】:
我正在绘制等高线图,我使用等高线的大小和颜色来描绘相关信息。这是一个基于 stat_contour 文档的等效最小示例:
require(ggplot2)
volcano3d <- melt(volcano)
names(volcano3d) <- c("x", "y", "z")
v <- ggplot(volcano3d, aes(x, y, z = z))
TransBinary = Trans$new("TransBinary",f=function(x){ifelse(x>124,1,0)})
# under 2.15: TransBinary = trans_new("TransBinary",transform=function(x){ifelse(x>0,1,0)},inverse=FALSE)
v +
stat_contour(aes(colour=..level..,size=..level..)) +
scale_colour_gradient(high="black",low="grey",trans=TransBinary,legend=FALSE) +
scale_size("size")
这正是我正在寻找的东西:一个等高线图,其中 z 的较高值显示为较大的线,并且在 z 的某个值(这里是中值)处有一个阈值,低于该阈值的线条是灰色的,并且在上面它们是黑色的。
唯一的问题是生成的图例显示了线条大小,但图例中的所有线条都是黑色的(不足为奇)。
有没有办法让 ggplot 在图例中也将线条绘制为灰色/黑色?
【问题讨论】:
-
我不知道以下类似问题的答案是否对您有帮助:stackoverflow.com/questions/6050510/…
-
不幸的是,目前用优雅的方式这是不可能的。