gridGraphics包由Paul Murrell編寫,核心函數(shù)是grid.echo(),其目的是將graphics包中的圖形轉(zhuǎn)換并在grid繪圖系統(tǒng)中重制,拆解為lines,polygon,segments,points,xlab和box等若干可在grid繪圖系統(tǒng)中可修飾的組件。
以boxplot()為例,簡述其運(yùn)行原理。
boxplot(disp ~ cyl, data = mtcars)
通過grid.echo()拆分組件,并用grid.ls()查看。
library(gridGraphics)
grid.echo(prefix = "cp")
grid.ls()
###
cp-plot-1-polygon-1
cp-plot-1-segments-1
cp-plot-1-points-1
cp-plot-1-segments-2
cp-plot-1-segments-3
cp-plot-1-polygon-2
cp-plot-1-polygon-3
cp-plot-1-segments-4
cp-plot-1-points-2
cp-plot-1-segments-5
cp-plot-1-segments-6
cp-plot-1-polygon-4
cp-plot-1-segments-7
cp-plot-1-points-3
cp-plot-1-polygon-5
cp-plot-1-segments-8
cp-plot-1-points-4
cp-plot-1-segments-9
cp-plot-1-segments-10
cp-plot-1-polygon-6
cp-plot-1-bottom-axis-line-1
cp-plot-1-bottom-axis-ticks-1
cp-plot-1-bottom-axis-labels-1
cp-plot-1-left-axis-line-1
cp-plot-1-left-axis-ticks-1
cp-plot-1-left-axis-labels-1
cp-plot-1-xlab-1
cp-plot-1-ylab-1
cp-plot-1-box-1
grid包中的grid.edit()可對以上組件進(jìn)行修飾。如
ps:使用par()布局即可。
grid.edit("cp-plot-1-polygon-1", gp = gpar(fill = "red"))
grid.edit("cp-plot-1-points-3", gp = gpar(col = "red"))
grid.edit("cp-plot-1-left-axis-ticks-1", gp = gpar(col = "red"))
