在 R 中绘制图表

可视化数据有时可以帮助人们更好地理解它。作为一个数据分析平台,R提供了一些高级绘图功能。在这篇文章中,你将学习如何使用内置的绘图函数创建一些常见的可视化。具体来说,你将学习如何创建

  • 折线图
  • 散点图
  • 饼图

让我们开始吧。

在 R 中绘制图表
照片来源:Jason Coudriet。部分权利保留。

概述

本文分为两部分,分别是

  • 绘制函数
  • 绘制数据框

绘制函数

让我们考虑R中最基本的绘图函数。要创建一个带有单个点的图,你可以简单地使用

绘制一个点

你可以在RStudio中自动看到这个图。如果你在R shell或脚本中运行它,你需要将图形保存到图片中,如下所示

plot()函数参数是点的x和y坐标。如你所知,R中的单个数字只是一个包含一个元素的向量。因此,将函数以两个较长向量的x-y坐标形式绘制出来是很直观的。

绘制函数

在上面,x是从0到20的向量,而yx的函数。请注意,sin()cos()函数将它们的参数视为弧度。绘图是按照向量指定的点的形式。

事实上,你可能想自定义这个图。首先,你可能会注意到上面使用的绘图使用了相当大的圆圈来标记点。你可以使用cex参数(默认值为1)来控制这些点的大小。例如,这里是如何让点变小

用cex=0.1绘图

 

你可以为图添加标题或标注轴。所有这些都有相应的参数。例如

带标签和标题的图

 

请注意,主标题和副标题分别位于图的上方和下方。

你也可以选择将函数以线条而不是点的形式绘制出来。你也可以考虑以不同的比例尺绘制。下面是如何做到这些

R中的折线图

type控制绘图类型。有时你也会发现“b”(both)很有用,因为它可以在同一图上同时显示点和线。你应该参考plot函数的文档来查找所有可能的绘图类型。

参数“asp”是关于纵横比的。这并不是控制整个图的纵横比,而是控制x轴和y轴之间的比例。将asp=2设置为x轴上的两个单位将与y轴上的一个单位具有相同的宽度。

绘制数据框

为了说明,让我们考虑R自带的iris数据集。

iris数据集是一个分类数据集。它有“Species”列作为鸢尾花种类的标签。如果数据不平衡,这对于分类建模来说是一个问题。检查iris数据集是否平衡的一个简单方法是在饼图中显示标签

R中的饼图

 

上面的饼图显示三个标签分布均匀(因为每个都有相同大小的切片)。

table()函数接受一个标签向量,并以表格形式返回每个唯一标签的计数。然后pie()函数将计数显示为饼图。pie()函数中有一些参数可以让你自定义输出。你应该参考文档以获取更多详细信息。

由于我们可以使用iris$Sepal.Length的语法从数据框中提取一列到向量中,因此使用plot()函数很容易将两列绘制成散点图。

iris数据集中两列的散点图

类似地,如果你的数据框有一列排序的值,你可以使用plot()函数创建折线图。请注意,将随机排序的值传递给plot()函数进行折线图绘制不会产生好的可视化效果。

你也应该知道,上面的绘图有时可以这样写

波浪号(~)的使用强调了关系,就像 $y = x$。换句话说,你可以互换使用plot(x,y)plot(y ~ x)

然而,由于iris数据集是一个分类数据集,上面的绘图可能不是很有帮助。更好地说明两列之间关系的方法如下:

显示iris数据集中分类的散点图

参数pch用于在散点图中将填充的菱形作为标记。标记的填充颜色使用bg指定。如果省略pch参数,默认标记是空心圆,在这种情况下你应该使用col参数来着色。

根据分类结果为标记分配不同颜色的方法是设置一个向量。这个向量是用以下方式创建的:

其中c("red","green","blue")部分是创建一个字符串向量,而iris$Species是类标签(R中的“factor”类型)。unclass()函数将类标签转换为整数(1、2或3),然后用它来索引前面的向量。生成的向量应该与iris$Species的长度相同,这样它就可以匹配散点图中的标记数量。

如果你运行以下代码

你将得到一个箱须图,如下所示

箱须图

这是R的一个魔力,当你将连续值与离散标签绘制时,将生成箱须图来显示值范围。

最后,当你获得新数据集时,一个方便的“第一个绘图”应该是散点图矩阵。

散点图矩阵

这是一种自动为你提供所有可能的散点图的方法。从那里你可以判断数据框中的某些列是否相关。你可以从那里设计你的数据建模策略。

进一步阅读

您可以从以下来源了解有关上述主题的更多信息:

网站

总结

在这篇文章中,你学习了如何在R中创建可视化。具体来说,你学习了

  • 如何创建函数样本并绘制该函数
  • 如何绘制数据框中的现有数据,如饼图或散点图

暂无评论。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。