How can you extract the numbers used to label the y and x axes in the ggplot below (respectively 20, 30, 40
and 10 , 15 ,20 ,25, 30, 35
)?
Building on CPak's answer, the structure has changed slightly for ggplot2_3.0.0
. Labels can now be extracted with:
ggplot_build(g)$layout$panel_params[[1]]$y.labels
#[1] "20" "30" "40"
ggplot_build(g)$layout$panel_params[[1]]$x.labels
#[1] "10" "15" "20" "25" "30" "35"
EDIT:
As of ggplot2_3.3.0
the labels are found using:
# check package version
utils::packageVersion("ggplot2")
y_labs <- ggplot_build(g)$layout$panel_params[[1]]$y$get_labels()
y_labs[!is.na(y_labs)]
#[1] "20" "30" "40"
x_labs <- ggplot_build(g)$layout$panel_params[[1]]$x$get_labels()
x_labs[!is.na(x_labs)]
#[1] "10" "15" "20" "25" "30" "35"