目录
一、分类数据的图形描述
1.1 条形图barplot()函数
1.2 饼图pie()函数
二、量化数据的图形描述
2.1 点图与dotchart()函数
2.2 绘图函数plot()
2.2.1 绘制时间数列对象
2.2.2 向量数据与plot()函数
2.2.3 数据框数据与plot()函数
2.2.4 因子型数据与plot()函数
2.2.5 使用lines()函数绘制回归线
2.2.6 使用abline()函数绘制线条
2.2.7 控制其他绘图的参数说明
三、在一个页面内绘制多张图表的应用
四、新建窗口
一、分类数据的图形描述
分类(质化)数据的描述绘图,相对比较简单,主要有条形图与饼图,均可以直观地进行各个类别间次数或者量化多寡的比较。
1.1 条形图barplot()函数
条形图又可分为垂直条形图和水平条形图,主要是用来标示某变量的数据变化,我们可以使用barplot()函数。有关barplot()绘图函数的使用格式如下:
barplot(height,width=1,space=NULL,horiz=FALSE,xlim=NULL,ylim=NULL,legend.text=NULL,main=NULL,xlab=NULL,ylab=NULL)
- height:可以为向量或者矩阵提供长条的高度值。
- width:直方图每一长条的宽度。
- space:直方图两相邻长条的间隔。
- horiz:逻辑值,若为FALSE绘制的是直立式,反之则绘制水平式。
- legend.text:一个文字向量作为图例说明。
- main:绘图的抬头文字及副抬头文字。
- xlab,ylab:x轴及y轴的标签。
- xlim,ylim:x轴及y轴的数值界限。
可以看到部分岛屿的名称未显示,加大宽度即可显示如下图所示:
1.2 饼图pie()函数
饼图(也称圆瓣图)适合表示分类数据中各个不同类别的数据占总数的比例,因此可以说是分类数据下相对次数分布表的图示。
有关pie()绘图函数的使用格式如下:
pie(x,labels=names(x),radius=0.8,clockwise=FALSE,main=NULL,...)
- x:一个非负向量,决定饼图每一部分面积大小的比例。
- labels:一个文字向量,决定饼图每一部分的名称说明。
- radius:饼图的半径长度,数值在-1与1之间,超过1时会有部分图被切割。
- clockwise:逻辑值,表示将所给数值按顺时针或逆时针绘图。
- col:一组向量,表达饼图每一部分的颜色。
- main:饼图的标题文字。
二、量化数据的图形描述
一般常见的单变量量化数据的统计图形有点图、直方图、箱形图等。它们都能够清楚地表达数据的分布情况。以下将使用点图、直方图与箱形图来描述量化数据。
2.1 点图与dotchart()函数
R语言中的点图是使用dotchart()函数来绘制的。水平轴是用来表示数值出现的额次数;垂直轴则是用来表示数值数据变量值的范围,每一点代表某一个数值出现了几次。所以由点图就能够了解书记实际出现在哪些数值即隐含的分配情形,也能够迅速地得到数值数据的众数。由于dotchart()绘图函数的使用格式如下:
dotchart(x,labels=NULL,groups=NULL,gdata=NULL,cex=par("cex"),pch=21,gpch=21,bg=par("bg"),color=par("fg"),gcolor=par("fg"),lcolor="gray",xlim=range(x[is.finite(x)]),main=NULL,xlab=NULL,ylab=NULL,...)
- x:可以是向量或者矩阵(使用列)。
- labels:数据的标签。
- groups:列出数据如何分组,若为矩阵,则以列进行分组。
- gdata:标示出使用什么样的统计方式作为绘图的依据。
- cex:绘图字符的大小。
- pch:绘图字符,默认是21,代表空心圆。
- gpch:不同的分组分别使用什么字符绘图。
- bg:背景颜色。
- color:标签与绘图点的颜色。
- gcolor:分组标签与值得颜色。
- lcolor:绘制水平线得颜色。
在R语言系统中有一个系统内建的矩阵对象VADeaths,这个对象记录1940年美国Virginia州每1000人的死亡率,其中年龄层划分为50~54、55~59、60~64、65~69、70~74。同时区分乡村男性与女性,城市男性与女性。
上述dotchart()函数,通过设定参数pch可设定点的形状,默认是"pch=19",代表实心圆,其他几个常用的数值及意义如下:
- pch=20:项目符号,小一点的实现圆(约2/3大小)。
- pch=21:空心圆。
- pch=22:空心正方形。
- pch=23:空心菱形。
- pch=24:空心箭头向上的三角形。
- pch=25:空心箭头向下的三角形。
- 此外,还可以通过xlim参数设定x轴的区间大小。
2.2 绘图函数plot()
plot()函数其实是一个通用函数,它会依据所输入的对象,自行分配适当的绘图函数执行需要的任务。此函数可绘制两数值变量的散点图,可以从中观察出两数值变量间的线性相关性。当然plot()函数也被用来绘制table、factor以及ts等对象的统计图,只是应用于不同的对象时绘制出来的图形也会有所不同。
有关plot()函数的使用格式如下:
plot(x,y,...)
- x:x数值向量数据,不同的对象可以绘制出不同的结果。
- y:y数值向量数据,视x有无情况而定。
- type:绘图的形式。"p"为点;"L"为线;"b"为两者;"o"为重叠;"h"为直方图;"s"为阶梯形;"n"为不绘图。
- main,sub,xlab,ylab:标题、次标题、x轴标签、y轴标签。
- asp:y/x(y对比与x)的比值。
2.2.1 绘制时间数列对象
我们首先绘制时间序列(ts)图,也就是在图上依时间序列绘出唯一提供的数值向量。
上述参数“type=",将直接影响所绘制的类型,预设type="l",表示各点间用直线连接。
(1)type=p:点
(2)type=b:点和线
(3)type=c:"type=b"的线部分
(4)type=o:重叠"type=a"和"type=b"两种图
(5)type=h:垂直线图
2.2.2 向量数据与plot()函数
加上州名:
由上述执行结果可以看到,我们已经成功使用text()函数为数据标签加上州名称了。另外在text()函数内,参数adj的作用主要是指出标签数据的对齐方式。这是一个含两个元素的向量,它的可能值是0、0.5、1,分别表示靠左/靠下、中间、靠右/靠上对齐。
2.2.3 数据框数据与plot()函数
美国黄石国家公园有一个著名的景点老实泉,它会按固定时间喷发温泉。在R语言系统内有一个数据集faithful,这个数据集记录每次温泉喷发的时间长短和两次喷发之间的时间间隔,两个数据的单位均是分钟。
其实也可以设定标记符号的背景颜色,此时可以使用"bg='参数,以类似"col="的方式设定符号的背景色。
2.2.4 因子型数据与plot()函数
另外一个常用的对象格式是factor,如果我们提供的数据是原始的类别,并使用了as.factor()函数,则plot()函数会自动汇总因子变量的数据分布,并绘制成为条形图,这对于分类数据的分析与绘图是相当有帮助的。
当我们提供的x向量为因子变量,而y向量为数值向量,则所绘制的plot图形为各个因子变量的箱形图。
2.2.5 使用lines()函数绘制回归线
当我们了解如何绘制上述数据图后,也可以使用上述数据图绘制回归线,步骤如下:
(1)使用lm()函数可以建立最简单的线性模型。
(2)接着我们可以使用fitted()函数,从回归模型中获得拟合值。
2.2.6 使用abline()函数绘制线条
若在abline()函数内加上参数"v=",则可以绘制垂直线。
若在abline()函数内加上参数"h="则可以绘制水平线。
其实abline()函数也是一个通用函数,也可以直接绘出faithful数据图的回归线。
2.2.7 控制其他绘图的参数说明
(1)las参数
las(label style),可用于设定坐标轴的标签角度,它的可能指如下所示:
- 0:默认值,坐标轴的标签与坐标轴平行。
- 1:坐标轴的标签保持水平。
- 2:坐标轴的标签与坐标轴保持垂直。
- 4:坐标轴的标签保持垂直。
(2)bty参数
bty(box type),可用于设定外框类型,它的可能值如下:
- "o":默认值,绘出完整的图表外框。
- "n":不绘制图表外框。
- "1" "7" "c" "u" "]":可根据这些参数对应的字符形状,绘出边框。
(3)cex参数
cex(character expansion ratio),这个参数可用于设定图表标签、坐标轴标签和坐标轴刻度的文字大大小。它的默认值是1,若此值小于1则字缩小,若此值大于1则字放大。它的使用方式如下:
- cex.main:设定图表标签大小。
- cex.lab:设定坐标轴标签。
- cex.axis:设定坐标轴刻度。
三、在一个页面内绘制多张图表的应用
如果想要在单张页面内放置多张图表,需使用两个参数,分别是mfrow和mfcol,由此设定一个页面要放置多少张图,mfrow可控制1行的图表数,mfcol可控制1列的图表数,这两个参数将接收一个含两个元素的向量。
如果想要设定1行有2张图,则其设定如下所示:
mfrow=c(1,2)
如果想要设定1列有2张图,则其设定如下所示:
mfcol=c(2,1)
如果想要设定一张页面有4张图,可以设定如下所示:
mfrow=c(2,2)
另外,我们还需要使用par()函数,将上述设定放入par()函数,若想结束目前单个页面放置多张图的状态,也需将上述设定放入par()函数。
四、新建窗口
R语言系统允许新建一个窗口显示所建的数据文件,可以使用dev.new()函数,代码如下:
使用后应关闭窗口,如果没有关闭,则所有绘图均在此窗口显示。
关闭窗口使用函数dev.off()。
此时之前所建窗口关闭,未来又将在Rstudio右下方窗口显示所建的数据图。