如何從 R 中的 ggplot2 建立的繪圖中提取資料?
當然,繪圖是用一些資料建立的,但我們可能也想從繪圖中獲取資料。這是一個 ggplot 函式在 R 中的功能,但它只適用於 ggplot 物件,如果我們使用 plot 函式建立繪圖,那麼我們就不能使用 ggplot_build 來提取資料。此外,我們不必使用 ggplot2 建立繪圖並在 R 中將其儲存為一個物件以從 ggplot_build 中獲取資料,我們可以在建立繪圖時簡單地使用這個函式。
示例
考慮下面的資料框−
set.seed(111) x <-rnorm(10) y <-rnorm(10,1.5) df <-data.frame(x,y) df
輸出
x y 1 0.2352207 1.32632587 2 -0.3307359 1.09340122 3 -0.3116238 3.34563626 4 -2.3023457 1.89405411 5 -0.1708760 2.29752850 6 0.1402782 -0.06666536 7 -1.4974267 1.41414899 8 -1.0101884 1.14086052 9 -0.9484756 0.30639103 10 -0.4939622 1.86418674
用 ggplot2 建立繪圖 −
示例
library(ggplot2) scatterplot <-ggplot(df,aes(x,y))+geom_point() scatterplot
輸出

從繪圖中提取資料 −
示例
data_from_scatterplot <-ggplot_build(scatterplot) data_from_scatterplot $data $data[[1]]
輸出
x y PANEL group shape colour size fill alpha stroke 1 0.2352207 1.32632587 1 -1 19 black 1.5 NA NA 0.5 2 -0.3307359 1.09340122 1 -1 19 black 1.5 NA NA 0.5 3 -0.3116238 3.34563626 1 -1 19 black 1.5 NA NA 0.5 4 -2.3023457 1.89405411 1 -1 19 black 1.5 NA NA 0.5 5 -0.1708760 2.29752850 1 -1 19 black 1.5 NA NA 0.5 6 0.1402782 -0.06666536 1 -1 19 black 1.5 NA NA 0.5 7 -1.4974267 1.41414899 1 -1 19 black 1.5 NA NA 0.5 8 -1.0101884 1.14086052 1 -1 19 black 1.5 NA NA 0.5 9 -0.9484756 0.30639103 1 -1 19 black 1.5 NA NA 0.5 10 -0.4939622 1.86418674 1 -1 19 black 1.5 NA NA 0.5
示例
$layout <ggproto object: Class Layout, gg> coord: <ggproto object: Class CoordCartesian, Coord, gg> aspect: function backtransform_range: function clip: on default: TRUE distance: function expand: TRUE is_free: function is_linear: function labels: function limits: list modify_scales: function range: function render_axis_h: function render_axis_v: function render_bg: function render_fg: function setup_data: function setup_layout: function setup_panel_params: function setup_params: function transform: function super: <ggproto object: Class CoordCartesian, Coord, gg> coord_params: list facet: <ggproto object: Class FacetNull, Facet, gg> compute_layout: function draw_back: function draw_front: function draw_labels: function draw_panels: function finish_data: function init_scales: function map_data: function params: list setup_data: function setup_params: function shrink: TRUE train_scales: function vars: function super: <ggproto object: Class FacetNull, Facet, gg> facet_params: list finish_data: function get_scales: function layout: data.frame map_position: function panel_params: list panel_scales_x: list panel_scales_y: list render: function render_labels: function reset_scales: function setup: function setup_panel_params: function train_position: function xlabel: function ylabel: function super: <ggproto object: Class Layout, gg> $plot attr(,"class") [1] "ggplot_built"
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP