Get Quantile values from geom_boxplot()

2019-05-10 09:20发布

问题:

I'm using ggplot2 function geom_boxplot() to create boxplots of my data.

Similarly to this question, I'd like to get the quantile values used for the creation of the boxplot, e.g., in a matrix. Is there a way to print out the values used within geom_boxplot()?

回答1:

Probably the easiest way is to use an outside of ggplot aggregate, but here's how to do it with ggplot, using the function ggplot_build on a created plot:

library(ggplot2)
p <- ggplot(mtcars, aes(x=factor(gear), y=mpg)) + geom_boxplot() 
ggplot_build(p)$data

[[1]]
  ymin lower middle  upper ymax outliers notchupper notchlower x PANEL group weight ymin_final ymax_final
1 10.4  14.5   15.5 18.400 21.5            17.09102   13.90898 1     1     1      1       10.4       21.5
2 17.8  21.0   22.8 28.075 33.9            26.02695   19.57305 2     1     2      1       17.8       33.9
3 15.0  15.8   19.7 26.000 30.4            26.90729   12.49271 3     1     3      1       15.0       30.4
   xmin  xmax
1 0.625 1.375
2 1.625 2.375
3 2.625 3.375