関数ggplot_build(
) をggplot()
オブジェクトの周りで使用すると、プロットに使用されるすべてのデータにアクセスできます。データはリスト要素に格納されますdata
。
p<-ggplot_build(ggplot(df,aes(x=x,y=y))+geom_density2d())
str(p$data)
List of 1
$ :'data.frame': 1895 obs. of 6 variables:
..$ level: num [1:1895] 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 ...
..$ x : num [1:1895] 1 2 3 4 5 ...
..$ y : num [1:1895] 1.42 1.44 1.45 1.45 1.46 ...
..$ piece: int [1:1895] 1 1 1 1 1 1 1 1 1 1 ...
..$ group: Factor w/ 13 levels "1-001","1-002",..: 1 1 1 1 1 1 1 1 1 1 ...
..$ PANEL: int [1:1895] 1 1 1 1 1 1 1 1 1 1 ...
これらのデータを別のデータ フレームとして保存できます。
gg<-p$data[[1]]
head(gg)
level x y piece group PANEL
1 5e-04 1.000000 1.423926 1 1-001 1
2 5e-04 2.000000 1.435286 1 1-001 1
3 5e-04 3.000000 1.445293 1 1-001 1
4 5e-04 4.000000 1.454166 1 1-001 1
5 5e-04 5.000000 1.462106 1 1-001 1
6 5e-04 5.255343 1.463967 1 1-001 1
group
変数は、piece
各値が属する行を示します (この場合、1 - 外側の行、13 - 内側の行)。