了解 R 中的 plot() 函数 - 图形绘制基础知识

在本教程中,让我们首先开始了解使用 R 中的 plot() 函数的基本知识,R 语言以其美丽的图形而闻名,具有构建和格式化任何类型的图形和 plot() 函数家族的丰富功能,有助于我们构建这些函数。

在 R 中,plot() 函数不是一个单一的定义函数,而是一个为一组相关函数的位置持有者。被召唤的确切函数将取决于所使用的参数。

1plot(c(1,2,3,4,5),c(1,4,9,16,25))

这给 y = x^2 一个简单的插图。

sSquare plot() function in R

使用 R 中的 plot() 函数更改图形外观

R 中的 plot() 函数可以以多种方式定制,以创建更复杂和吸引人眼的 plot,正如我们所看到的那样。

  1. 联合国 ** 标记的形状:** 地块标记默认为小而空的圆. 这些也被称为地块字符——由pch表示. 您可以在绘图函数中添加一个新的pch值来修改这些值。 Pch 值 0至25是有效的,并在图上给出了几个不同的符号. Pch 0为正方形,1为圆形,3为三角形,4为十字等.
  2. ** 地块标记的大小**: 一个图的这个方面可以用cex参数来控制. ** cex** 参数可被设定为 0.5,如果您希望标记小于 50%,如果您希望标记大于 50% 。 ( (英语). ** 地块标记的颜色:** 符号可以被指定一种或多种颜色. 这些颜色可以从 R 在 colors () 函数下提供的列表中选择 。 4 。 ** 以行连接点:** 很多时候,需要用不同种类的行连接显示的点. 这可以用地图函数的类型属性来完成. 类型属性设置为"p"只指点而"l"只指一行. 同样,"b"和"o"分别用于连接点和叠接点的行. 要获得像显示 h 选项那样的直方图, 请使用 s 选项来选择一个步骤 。 5 。 ** 修改行号:** 线型可以由lity参数(范围为0至6)指定,并使用lwd参数设置行宽. ( (英语)

现在让我们尝试用我们迄今为止学到的东西构建几个图表。

让我们从生成一个 sinus 波图开始,让 x 是从 -pi 到 pi 的值的序列矢量,有 0.1 间隔,而 y 包含 x 的相应 sinus 值。

1x=seq(-pi,pi,0.1)
2y=sin(x)
3plot(x,y)

Sine wave from -pi to pi - plot() function in R

现在让我们试着改变符号和颜色。

1plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))

我们现在允许编译器从3种不同的符号和4种不同的颜色中选择标记图表,让我们看看结果如何。

Colorful Sine - plot() function in R

R 还允许将多个图形合并成一个图像,以便我们使用 par() 函数进行观看。

1#Set a plotting window with one row and two columns.
2par(mfrow=c(1,2))
3plot(x,y,type='l')
4plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))

Combining Plots In R using the plot() function in R

使用上面的各种选项的几张其他图表如下所示。

 1#Set space for 2 rows and 3 columns.
 2par(mfrow=c(2,3))
 3
 4#Plot out the graphs using various options.
 5plot(x,cos(x),col=c('blue','orange'),type='o',pch=19,lwd=2,cex=1.5)
 6
 7plot(x,x*2,col='red',type='l')
 8
 9plot(x,x^2/3+4.2, col='violet',type='o',lwd=2,lty=1)
10
11plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3,col='pink',lwd=4)
12
13plot(x<-seq(1,10,0.5),50*x/(x+2),col=c('green','dark green'),type='h')
14
15plot(x,log(x),col='orange',type='s')

结果的图形看起来像这样。

Multiple Plots In R

将更多信息添加到 R 中的 plot() 函数的图表

图表看起来更完整,当有说明它们的笔记和信息时。 这些包括图表和轴的标题,图表的传说. 有时甚至需要标签数据点。

  1. 主要标题是通过插图函数中的 main 选项添加的。 字体、颜色和大小可以使用 font.maincol.maincex.main分别进行定制
  2. 轴的标题是使用 xlab 和 ylab 属性提供的。 这些属性可以使用 font.labcol.labcex.lab 进行定制,如上所述
  3. 您还可以使用 text 属性在插图中添加一些额外的文本,指定要使用的文本和要显示的坐标
  4. 文本属性也可以用来标记数据点。 在这种情况下,文本是标签的矢量而不是

让我们来看看说明这些的例子。

1#Displaying the title with color
2plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3, col='pink',lwd=4,main="This is a graph",col.main='blue')

Graph With A Title

1#Same graph with xlabel and ylabel added.
2
3> plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lt=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")

Graph With Title And Labels

让我们使用文本属性添加一个标签到图表中的每个数据点。

1labelset <-c('one','three','five','seven','nine','eleven')
2x1<- c(1,3,5,7,9,11)
3y1 <- c(2,7,5,10,8,10)
4plot(x1,y1,type='o',lty=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")
5text(x1+0.5,y1,labelset,col='red')

Graph With Data Labels

最后,让我们使用 legend() 函数添加一个传说到上面的图表。

1> legend('topleft',inset=0.05,"Performace",lty=3,col='pink',lwd=4)

位置可以通过x和y坐标或使用一个位置,如顶部底部。插入指将传说框移动到图表的内部。

Graph With Legend

超级图形

R 还允许两个图表相互显示,而不是为每个图表创建一个新的窗口. 这样做是通过为第二个图表调用 line() 函数而不是 plot() 再次。

1x=seq(2,10,0.1)
2y1=x^2
3y2=x^3
4plot(x,y1,type='l',col='red')
5lines(x,y2,col='green')
6legend('bottomright',inset=0.05,c("Squares","Cubes"),lty=1,col=c("red","green"),title="Graph type")

Overlaid Graph With Legend

将行列添加到阴谋

可以使用简单的 abline() 函数将直线添加到现有插图中. abline() 函数需要 4 个参数,a、b、h 和 v. 变量 a 和 b 代表倾斜和拦截,H 代表水平线的 y 点,v 代表垂直线的 x 点。

让我们看看一个例子来澄清这一点. 尝试在构建上面的方块和立方块图表后执行这三个陈述。

1abline(a=4,b=5,col='blue')
2abline(h=c(4,6,8),col="dark green",lty=2)
3abline(v=c(4,6,8),col="dark green",lty=2)

Graph With Lines

第一条蓝色线是用定义的斜坡和拦截构建的,接下来的三个水平线和垂直线的组合是用 lty = 2 所提到的点线风格的指定 x 和 y 值绘制的。

这涵盖了R中的插图功能的基础知识,当与其他软件包(如ggplot2)相结合时,R构建了最可呈现和动态的图形,正如我们在进一步的教程中所看到的那样。

Published At
Categories with 技术
Tagged with
comments powered by Disqus