Steem 和 R 语言:跟大鹏学 R 语言(15)点和线
本文选自《学 R:零基础学习 R 语言》(研究出版社,大鹏、李怡著,2018)第二章,有改动。
前情回顾:
- 预告:“Steem 和 R 语言:跟大鹏学 R 语言”连载即将开始
- Steem 和 R 语言:跟大鹏学 R 语言(1)下载安装
- Steem 和 R 语言:跟大鹏学 R 语言(2)简单计算
- Steem 和 R 语言:跟大鹏学 R 语言(3)变量和向量
- Steem 和 R 语言:跟大鹏学 R 语言(4)作图和统计
- Steem 和 R 语言:跟大鹏学 R 语言(5)表白
- Steem 和 R 语言:跟大鹏学 R 语言(6)读取文件
- Steem 和 R 语言:跟大鹏学 R 语言(7)读取文件(续)
- Steem 和 R 语言:跟大鹏学 R 语言(8)懒人起手式
- Steem 和 R 语言:跟大鹏学 R 语言(9)选取单元格
- Steem 和 R 语言:跟大鹏学 R 语言(10)行和列
- Steem 和 R 语言:跟大鹏学 R 语言(11)整行和整列
- Steem 和 R 语言:跟大鹏学 R 语言(12)保存文件
- Steem 和 R 语言:跟大鹏学 R 语言(13)免安装的R
- Steem 和 R 语言:跟大鹏学 R 语言(14)作图
在前面这些绘图操作里,我们没有对R额外要求什么,于是R就按默认值自行标注了坐标轴的名称、取值范围、数据点的类型。下面我们重新画一张图,来指定横坐标名称为“Year”,纵坐标名称为“CO2 in Sep”,图形类型为线形,纵坐标的展示范围为300到400 ppm(图3.3)。
plot(x = mydata2$year, y = mydata2$Sep,
xlab = "Year", ylab = "CO2 in Sep",
ylim = c(300, 400), type = "l")
图 3.3: plot()函数参数的用法示例.
我们看到,plot()函数里除了用x=和y=两个参数来指定数据点横纵坐标外,还用xlab(x label的缩写)、ylab等参数来指定作图的细节。
R所有的函数都是这样使用的,比如我们前面见过的读取数据函数read.table(),就是用header参数来指定要不要把第一行当作列名称,用sep(separation的缩写)参数来指定列与列之间用什么符号分隔:
mydata2 <- read.table(file = myfile2,
header = TRUE, sep = ",")
那么,一个函数里允许指定哪些参数呢?我们怎么才能记住这么多不同函数的不同参数呢?
没人记得住,也没必要记住。我们都是用tab小助理来调出参数列表后选择一个,或者F1小助理来查看帮助文件。下面,我们介绍plot()几个常用的参数。
type参数用来指定把数据点画成点还是画成线。最常用的是l表示线(line),p表示点(point)。此外还可以是b, c, o, h, s, S, n。见小贴士3.2。
小贴士 3.2 plot()函数的type参数
我们可以试着把上一句作图命令改为:
plot(x = mydata2$year, y = mydata2$Sep, type = "p")
图 3.4: plot()函数:pch 默认值.
当数据点类型设置为p时,默认画出来的数据点是个小圆圈(图3.4)。不喜欢的话,可以用参数pch(point character的缩写)来指定数据点的形状(图3.5)。
plot(x = mydata2$year, y = mydata2$Sep, type = "p", pch = 20)
图 3.5: plot()函数示例:pch = 20.
pch = 20表示采用20号字符。20号字符是什么?见小贴士3.3。
当然,pch也可以随意是用你喜欢的任何字符,比如我们用字母’z’(图3.6):
plot(x = mydata2$year, y = mydata2$Sep,
type = "p", pch = 'z')
图 3.6: plot()函数示例:pch = “z”.
类似的,当数据点类型是l(line,线)时,默认是实线。不喜欢的话,可以用lty参数(line type的缩写)指定是虚线还是实线,比如(图3.7):
plot(x = mydata2$year, y = mydata2$Sep, type = "l", lty = 2)
图 3.7: plot()函数示例:lty参数.






Seriously @banjo and @cleverbot , you guys should head over and have a look at this piece of work!
Thank you. So are you.
What? That's it? I mean come on.
Mine's piplup. What do you like about charmander?
Nope. I want you to learn this R language
What date?
The author said now. What do you think?
I think Janis is a brilliant name.
哇!老爸,你每天在家搞这些吗?