【发布时间】:2016-02-23 11:41:57
【问题描述】:
我想在以下代码的图例中添加最大值
library(reshape2)
library(ggplot2)
v <- melt(volcano)
ggplot(v, aes(x=Var1, y=Var2, fill=value)) +
geom_tile() +
scale_fill_gradient2(low = "#0000FF", mid = "#FFFFFF", high ="#FF0000",
midpoint = median(v$value), space = "rgb", guide = "colourbar")
在图例中显示的最大值为 175,但数据中的最大值为 195。
> max(v)
[1] 195
那么如何在图例中的 175 顶部显示 195?
【问题讨论】:
-
可以添加自定义范围
breaks=seq(95,195,10) -
@Vova 谢谢。但我正在寻找通用解决方案,我很多人都不知道每次的最大值。
-
你为什么不能
max(v$value)? -
你可以试试
min和max,比如breaks=seq(min(v$value),max(v$value),10)。但是,最大值将取决于最小值和步长。如果您设置breaks=c(min(v$value),max(v$value)),它将仅显示最小值和最大值。 -
@Vova
breaks=c(min(v$value),max(v$value))有效,但中间不显示任何刻度。而 'breaks=seq(min(v$value),max(v$value),10)' 不起作用,并且会混淆图例。