导图社区 plot函数
MATLAB中plot函数常常被用于绘制各种二维图像,其用法也是多种多样,本文仅介绍plot函数的基本用法——使用plot函数绘制二维点图和线图。
JavaSE-JavaEEDB思维导图,包括:Spring、Hibernate框架、struts2框架、js+jquery+ajax、JSP、Servlet(后期补充)、HTTP协议。
Java SE知识思维导图,包括:Java基础语法、Java OOP编程、Java高级特性、JDK8、Eclispe等内容。
Java知识思维导图,包括:1、Java环境及配置;2、语法、数据类型及表达式;3、结构化程序设计;4、数组与字符串;5、类和对象。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
plot函数
例子
plot(Veg$BARESOIL,Veg$R,xlab ="BARESOIL",ylab ="R")
保存的话可以单击右键选此图保存
基本参数
x =
x轴的变量(向量)
y =
y轴的变量(向量)
习惯上在垂直轴上绘制反应变量,水平轴绘制解释变量
所以输入时可以谨慎的定义
plot(x = Veg$BARESOIL, y = Veg$R)
当然没有x=和y=也可以,不过写上避免混淆。
xlab =
输入x轴标签
加引号
ylab =
输入y轴标签
main =
输入标题
xlim =
设置x坐标轴界限
输入一个向量
c(0, 45)
或如此输入
xlim = c(min(Veg$BARESOIL), max(Veg$BARESOIL))
当有NA值时
xlim = c(min(Veg$BARESOIL, na.rm = TRUE), max(Veg$BARESOIL, na.rm = TRUE)
ylim =
设置y坐标轴界限
c(4, 19)
Subtopic
参数的输入顺序
x在第一个,y在第二个,其它的顺序无关紧要
有一个不建议使用的data参数
> plot(BARESOIL, R, data = Veg)
Error in plot(BARESOIL, R, data = Veg) : object 'BARESOIL' not found
不过这么用是有效的
plot(R ~ BARESOIL, data = Veg)
不推荐使用,因为不同函数中~的含义不同
在某些函数中,R~BARESOIL是用来告诉R,生成一个丰富度为baresoil的函数
更多的参数
pch =
改变绘图符号
缺省情况其值为1,符号为空心点
1-21分别代表了一个不同的符号
具体请查看?points
pch = 单个数值
plot(x = Veg$BARESOIL, y = Veg$R, xlab = "Exposed soil", ylab = "Species richness", main = "Scatter plot", xlim = c(0, 45), ylim = c(4, 19), pch = 16)
pch = 向量
每个level都不同
Veg$Transect是一个有有效数值的向量,而不是factor,若是factor你需要自己把它转成向量
这个向量不能有0,因为必须是1-21的数字
其必须和x=,y=的两个向量有相同的长度
否则其会重复第一个元素补充生育的部分
该分类变量不能使factor(名义变量),这样会出错,其必须接受一个数值变量
意思是按照那个向量来按照每个截面的不同标记的符号也不同
自己设定一个年份pch专用向量,而且是以1974为分隔的两个度
R的灵活性!
注意1974包含在第一个区间里
直接pch=Veg$Time会出错,因为它的数字太大了,199x那样的
所以你重新用布尔向量造一个理想向量,原理如上
第一行命令生成一个与Veg$Time长度相同的新的数值向量。接下来的两行把数值1和16分配到正确的位置。
神奇的是当布尔向量选定的向量在<-左边时,右边的值可以任意修改[]内值为true的项
col =
使用不同的颜色
> x <- 1:8 > plot(x, col = x)
详见?par
col = 单个数值
pch = 2是红色
col = 向量
其可结合pch达到最大个性化的效果
col不能等于0,否则该项不显示
这个向量也必须与做图的变量们有相同的长度
cex=
改变绘图符号的尺寸
缺省值是1,增加的倍数等于你输入的数值
整体调整尺寸
cex = 1.5*Veg$Cex2
1.5倍的某向量
cex = Veg$Cex2/2
1/2倍的某向量
cex = 单个数量
cex=1.5, 生成一个所有的点都是缺省尺寸1.5倍的图
cex = 向量
添加平滑曲线:lines 函数
代码如下
plot(x = Veg$BARESOIL, y = Veg$R, xlab = "Exposed soil",ylab = "Speciesrichness", main = "Scatter plot", xlim = c(0, 45), ylim = c(4, 19))
M.Loess <- loess(R ~ BARESOIL, data = Veg)
平滑曲线函数暂时保存在M.Loess里
R
这些信息可以用很多函数提取出来
R~BARESOIL 表示R作为BARESOIL的函数
Losess还有很多统计专业上的不同选项
Fit <- fitted(M.Loess)
提取拟合值并把其分配给Fit
lines(Veg$BARESOIL, Fit)
在图形上添加一条线,可以捕捉数据的主要特征并把它传递给图形。
第一个参数绘制横坐标,第二个参数绘制纵坐标
但结果通常不好,因为lines函数是按照顺序连接点的
解决顺序的代码
Ord1 <- order(Veg$BARESOIL)
order函数确定输入向量中元素的顺序,输出一个向量包含每一个元素的大小顺序,其允许在lines命令里把值由小到大重新排列。
lines(Veg$BARESOIL[ord1], Fit[ord1])
lines函数的两个参数
lwd=
线的宽度
lty=
线的类型
col=
线的颜色