ggplot2提取y轴值

时间:2014-09-22 08:38:42

标签: r graph ggplot2

您好我想知道是否有一种从图表中提取y轴值的简单方法,例如我有

set.seed(20)
GG <- ggplot(data = data.frame(y=rnorm(20),x=1:20), aes(x=x,y=y))+geom_line()

enter image description here

我想获得矢量:c(“ - 3”,“ - 2”,“ - 1”,“0”,“1”,“2”),也许有简单的功能从所有人生成它们数据中的值?或者也许我可以从GG中提取它们?

修改

data <- data.frame(y=c(4.99,99.20554),x=c(1,2))
ggplot(data=data,aes(x=x,y=y))+geom_line()
pretty(data$y)
[1]   0  20  40  60  80 100

enter image description here

函数pretty()给出了很好但不一样的结果。

1 个答案:

答案 0 :(得分:2)

显示GG对象时计算轴标签位置和文本。你可以build对象并检查它:

> build = ggplot_build(GG)
> build$panel$ranges[[1]]$y.labels
[1] "-3" "-2" "-1" "0"  "1"  "2" 
> build$panel$ranges[[1]]$y.major_source
[1] -3 -2 -1  0  1  2

现在我怀疑这些内容非常内部,并且可能会使用新版本的ggplot2更改并破坏您的代码。