gpt4 book ai didi

r - ggplot2:从包含geom_histogram的绘图对象读取最大条形高度

转载 作者:行者123 更新时间:2023-12-03 02:47:23 25 4
gpt4 key购买 nike

像这样previous poster ,我还使用 geom_text 来注释 gglot2 中的绘图。我想将这些注释定位在相对坐标(构面 H & W 的比例)而不是数据坐标中。对于大多数图来说都很简单,但就我而言,我正在处理直方图。我确信有关 y 比例的相关信息一定隐藏在绘图对象中的某个位置(添加geom_histogram之后),但我不知道在哪里。

我的问题:如何从包含 geom_histogram 的多面 ggplot2 对象中读取最大条形高度?有人可以帮忙吗?

最佳答案

试试这个:

library(plyr)
library(scales)

p <- ggplot(mtcars, aes(mpg)) + geom_histogram(aes(y = ..density..)) + facet_wrap(~am)
r <- print(p)
# in data coordinate
(dc <- dlply(r$data[[1]], .(PANEL), function(x) max(x$density)))
(mx <- dlply(r$data[[1]], .(PANEL), function(x) x[which.max(x$density), ]$x))

# add annotation (see figure below)
p + geom_text(aes(x, y, label = text),
data = data.frame(x = unlist(mx), y = unlist(dc), text = LETTERS[1:2], am = 0:1),
colour = "red", vjust = 0)


# scale range
(yr <- llply(r$panel$ranges, "[[", "y.range"))
# in relative coordinates
(rc <- mapply(function(d, y) rescale(d, from = y), dc, yr))

enter image description here

关于r - ggplot2:从包含geom_histogram的绘图对象读取最大条形高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12828125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com