ggplot(diamonds, aes(carat)) + stat_bin(binwidth=0.1, geom="bar") # No error
ggplot(diamonds, aes(carat)) + stat_bin(binwidth=0.1, geom="point") # "ymax not defined"
错误来自ggplot2
position-collide.R
link}:
if (!is.null(data$ymax)) {
ddply(data, "xmin", strategy, width = width)
} else if (!is.null(data$y)) {
message("ymax not defined: adjusting position using y instead")
从上面的源代码中,似乎出现此消息是因为ggplot2
检查并且数据中没有ymax
。但是,为什么ymax
存在于第一个图中但不存在于第二个图中是没有意义的。这两个图都使用stat_bin
,which produces a data frame with ymax, ymin
, and other things。
那么为什么这条消息出现在第二个图中?