我想知道是否可以在 ggplot2 图中获取转换后的数据?特别是,我有兴趣获取点图中点的坐标和大小,以便在另一个绘图库中使用它们(d3.js
)。我怎样才能提取这些信息?
这是情节:
g=ggplot(data.frame(x=rnorm(100)), aes(x = x)) + geom_dotplot()
现在我可以使用获取原始数据g$data
但我想要转换后的数据(图中点的坐标)。
Thanks!
Use ggplot_build
然后提取数据。尝试这个:
gg <- ggplot_build(g)
生成的对象是一个列表,第一个元素包含您要查找的数据:
str(gg, max.level=1)
List of 3
$ data :List of 1
$ panel:List of 5
..- attr(*, "class")= chr "panel"
$ plot :List of 8
..- attr(*, "class")= chr "ggplot"
它看起来是这样的:
head(gg$data[[1]])
y x binwidth count ncount width PANEL group countidx stackpos xmin xmax ymin ymax
1 0 -2.070496 0.1356025 1 0.125 0.1356025 1 1 1 0.5 -2.138297 -2.002695 0 1
2 0 -1.781799 0.1356025 2 0.250 0.1356025 1 1 1 0.5 -1.849600 -1.713998 0 1
3 0 -1.781799 0.1356025 2 0.250 0.1356025 1 1 2 1.5 -1.849600 -1.713998 0 1
4 0 -1.619960 0.1356025 1 0.125 0.1356025 1 1 1 0.5 -1.687761 -1.552159 0 1
5 0 -1.403223 0.1356025 6 0.750 0.1356025 1 1 1 0.5 -1.471024 -1.335422 0 1
6 0 -1.403223 0.1356025 6 0.750 0.1356025 1 1 2 1.5 -1.471024 -1.335422 0 1
附言。 AFAIK,此功能仅在ggplot2
版本0.9.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)