ggplot2包的绘图逻辑简介
2022/7/11 来源:不详苏孜阿甫片价格 http://pf.39.net/bdfyy/zjft/150517/4624713.html
写在前面
在R语言里,谈及绘图,ggplot2是最出名的绘图包之一,作为一个绘图神器,它提供了许许多多的功能给用户使用,仅用短短几行代码,一幅幅高端大气的图像便跃然纸上,这可能就是ggplot2包的魅力所在。
我刚开始学习ggplot2的时候只用于学术上的制图,对深层的制图一知半解,趁着有空便重新学习了一下ggplot2包,才发现其背后的制图逻辑竟然跟GIS的图层叠加有着高度的相似,下面就是我学习到的内容了。
PART1:数据集介绍
这次使用的数据集是R包内置的iris数据集,是由EdgarAnderson记录的3种鸢尾花形态数据。其中一个种类与另外两个种类是线性可分离的,后两个种类是非线性可分离的。
iris以鸢尾花的特征作为数据来源,常用在分类操作中。该数据集由3种不同类型的鸢尾花的各50个样本数据构成。其中的一个种类与另外两个种类是线性可分离的,后两个种类是非线性可分离的。
该数据集包含了4个属性:
①Sepal.Length(花萼长度),单位是cm;
②Sepal.Width(花萼宽度),单位是cm;
③Petal.Length(花瓣长度),单位是cm;
④Petal.Width(花瓣宽度),单位是cm;
⑤Species(种类):IrisSetosa(山鸢尾)、IrisVersicolour(杂色鸢尾),以及IrisVirginica(维吉尼亚鸢尾)。
我们用相同的数据,通过plot函数跟ggplot函数分别绘制散点图来简单理解一下两者的差异:
library("ggplot2")#加载安装好的ggplot2包plot(irisSepal.Length,irisSepal.Width)#plot绘图ggplot(data=iris,aes(x=Sepal.Length,#ggplot2绘图y=Sepal.Width))+#绘制底层画布geom_point(color="darkred")#在画布上添加点
左右滑动可以