I want to use stat(max(count)) for a label but I'm getting this error, I'm not sure if this is possible. Can any one help me to clarify this?
library(ggplot2)
library(dplyr)
iris %>%
ggplot(aes(x = Petal.Width)) +
geom_histogram() +
geom_label(x = 1, y = 20, label = stat(max(count)))
#> Error in max(count): 'type' (closure) de argumento no válido
Created on 2018-09-23 by the reprex package (v0.2.1)
What are you trying to do with stat(max(count)))
? Count the number of appearances for each species?
The count
variable is computed by the bin
stat. SO you want to use
that statistic with a text
geom like this:
library(ggplot2)
ggplot(iris, aes(x = Petal.Width)) +
geom_histogram() +
stat_bin(geom = "text", aes(label = stat(count)))
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
If you just want to show the max count, you could use something like this,
ggplot(iris, aes(x = Petal.Width)) +
geom_histogram() +
stat_bin(geom = "text",
aes(label = stat(ifelse(count == max(count), count, NA))))
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> Warning: Removed 29 rows containing missing values (geom_text).
Created on 2018-09-23 by the reprex package (v0.2.0).
3 Likes
@eliocamp Thanks, the later was what I was looking for, I just have to change "text" by "label" and voilà!
1 Like