R语言可视化及作图5--ggplot2基本要素、几何对象和数据转换函数汇总


R语言绘图系列:


ggplot2基本要素

  • “+”和“%+%”
  • 数据(data)和映射(mapping):想要可视化的数据(data)以及一系列将数据中的变量对应到图形属性的映射(mapping);ggplot2的数据(data)必须是一个数据框(dataframe)。
  • 几何对象(geometric):几何对象(geom)代表你在图中实际看到的元素,如点、线、多边形等。
  • 统计变换(statistics):统计变换(stat)是对数据进行的某种汇总。例如将数据分组计数以创建直方图,或将一个二维的关系用线性模型进行解释。统计变换是可选的,但通常非常有用。
  • 标度(Scale):标度(scale)的作用是将数据的取值映射到图形空间,例如用颜色、大小或形状来表示不同的取值。展现标度的常见做法是绘制图例和坐标轴——它们实际上是从图形到数据的一个映射,使你可以从图形中读取原始的数据。标度包括位置、颜色、大小、形状、线型。
  • 坐标系统(Coordinate):坐标系(coord)描述了数据是如何映射到图形所在的平面的,它同时提供了看图所需的坐标轴和网格线。我们通常使用的是笛卡尔坐标系,但也可以将其变换为其它类型,如极坐标和地图投影。
  • 图层(Layer):图层的作用是生成在图像上可以被人感知的图形。一个图层由4部分组成:数据和图形属性映射;一种统计变换;一种几何对象;一种位置调整方式。
  • 分面(Facet):分面(facet)描述了如何将数据分解为各个子集,以及如何对子集作图并联合进行展示。分面也叫作条件作图或网格作图。

其中各要素通过“+”以图层(layer)的方式来粘合构图(可以简单理解为要素/图层叠加符号);另外在ggplot2中,数据集必须为数据框(data.frame)格式,并且可以通过%+%符号调整已有数据集(ggplot2指导文档中明确写出“To override the data, you must use %+%”,也就是覆盖数据必须通过%+%)。

完整ggplot2绘图模板⚠️ :
ggplot(data = <DATA>) +
  <GEOM_FUNCTION>(
    mapping = aes(<MAPPINGS>),
    stat = <STAT>,
    position = <POSITION>
)+ <COORDINATE_FUNCTION> + <FACET_FUNCTION>

几何对象汇总

几何对象 功能 属性
abline 绘制有斜率的直线 color, linetype, size
area 绘制面积图 color, fill, linetype, size,x,y
bar 绘制条形图 color, fill, linetype, size, weight, x
bin2d 绘制二维热图 color, fill, linetype, size, weight, xmax, ymax, xmin, ymin
boxplot 绘制盒形图 color, fill, lower, middle, size, upper, weight, x, ymax, ymin
contour 绘制等高线图 color, linetype, size, weight, x, y
crossbar 绘制盒子图(不是boxplot) color, fill, linetype, size, x, y, ymax, ymin
density 绘制密度曲线 color, fill, linetype, size, weight, x, y
density2d 二维等高密度曲线 color, linetype, size, weight, x, y
dotplot 绘制点直方图 color, fill, x, y
errorbar 绘制误差条 color, linetype, size, weight, x, ymax, ymin
errorbarh 绘制水平误差条 color, linetype, size, weight, x, ymax, ymin
freqpoly 绘制频率多边形 color, linetype, size
hex 绘制六边形热图 color, fill, size, x, y
histogram 绘制直方图 color, fill, linetype, size, weight, x, y
hline 绘制水平线 color, linetype, size
vline 绘制竖直线 color, linetype, size
jitter 绘制扰动点图 color, fill, shape, size, x, y
lable 绘制标签 angle, color, hjust, label, size, vjust, x, y
line 绘制线条 color, linetype, size, x, y
linerange 绘制区间线条 color, linetype, size, x, ymax, ymin
point 绘制散点 color, fill, shape, size, x, y
pointrange 绘制区间点竖线 color, linetype, fill, shape, size, x, y, ymax, ymin
polygon 绘制多边形 color, fill, linetype, size, x, y
quantile 添加分位数回归线 color, linetype, size, weight, x, y
raster 绘制光栅图 color, fill, linetype, size, x, y
rect(tile) 绘制矩形(瓦片图) color, fill, linetype, size, xmax, xmin, ymax, ymin
ribbon 绘制色带图 color, fill, linetype, size, x, ymax, ymin
rug 绘制边际地毯图 color, linetype, size
segment 添加线段或箭头 color, linetype, size, x, xend, y, yend
smooth 绘制平滑曲线 color, alpha, fill, linetype, size, weight, x, y
text 添加文本 angle, color, hjust, label, size, vjust, x, y
violin 绘制小提琴图 weight, color, fill, size, linetype, x, y
path 绘制路线图 color, linetype, size, x,y

数据转换函数

绘制几何对象的各个函数中,数据转换函数均是以参数“stat”形式出现,但是也存在其他数据转换函数。
不同的几何对象,其默认的数据转换函数是有区别的,尤其是功能迥异的几个几何对象,比如geom_point()和geom_bar()。

ggplot2中常见的统计变换及其应用的场景总结:

统计变换 功能 应用场景
abline 绘制直线 geom_abline()
bin 计算封箱数据,绘制直方图或者频率多边形 geom_histogram();geom_freqpoly();stat_bin()
bin2d 计算矩形封箱内的观测值个数,绘制二维热图 geom_bin2d();stat_bin_2d()
bindot 计算“点直方图”的封箱数据 geom_dotplot()
binhex 计算六边形热图的封箱数据 geom_hex();stat_bin_hex()
boxplot 计算箱线图的各个元素,绘制箱线图 geom_bonplot();stat_boxplot()
contour 绘制三维等高线 geom_contour();stat_contour()
density 一维密度估计,绘制密度曲线 geom_density();stat_density()
density2d 二维密度估计,绘制二维密度线图 geom_density2d();stat_density2d()
function 调用新函数进行统计变换 stat_function()
count 对观测值进行计数 geom_bar();stat_count()
identity 不对数据进行统计变换 geom_area();geom_point();geom_errorbar()
qq 计算qq图指标,绘制qq图 geom_qq();stat_qq()
quantile 计算分位数 geom_quantile();stat_quantile()
smooth 添加平滑曲线 geom_smooth();stat_smooth()

ggplot2速查表

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容