Ответ here кажется, что он должен получить меня туда, где я хочу, но у меня возникли проблемы с отладкой ошибки при попытке применить ее.Маркировка одиночной обрезанной колонны в ggplot из двух распределений гистограммы
Вот код (который отлично работает), чтобы нарисовать два дистрибутива вместе и «увеличить», чтобы обрезать самую высокую полосу одного из распределений.
data(iris)
#Round Sepal.Length for Binning
iris$Sepal.Length = round(iris$Sepal.Length)
#Drop versicolor rows so density plot comes out skewed like my data
iris <- iris[iris$Species!="versicolor",]
#Plot density plot, truncating 0.8 column at (setosa, 5)
p <-ggplot(iris, aes(x=Sepal.Length, y=..density.., fill=Species)) +
geom_histogram(binwidth=1, alpha=0.5, position = 'identity') +
coord_cartesian(ylim = c(0, 0.6))
p
До сих пор так хорошо. Кроме случаев, когда я добавить код, приведенный ниже, чтобы аннотировать истинную высоту вырезанного бара
p + geom_text(data=as.data.frame(ggplot_build(p)$data),
aes(x=5, y=0.5, label = paste0("Bar Height: ", max(density))))
Я получаю ошибку
Ошибка в Eval (выражение, Envir, Enclos): объект «Вид» не найден
Вот выход as.data.frame(ggplot_build(p)$data)$density
0.10 0.80 0.10 0.00 0.00 0.00 0.02 0.54 0.32 0.12
Кажется, что это похоже на [это] (http://stackoverflow.com/questions/12629647/adding-geom-path-and-geom-text-to-the-same-ggplot-generates-error-in- р) – Haboryme