ggplot: How to retrieve values for axis labels?

后端 未结 2 1977
难免孤独
难免孤独 2021-02-15 01:24

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)?

2条回答
  •  太阳男子
    2021-02-15 02:19

    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"
    
    

提交回复
热议问题