如何使用 matplotlib 在 Python 3 中绘制数据图

介绍

Python 非常适合处理数据. 通常数据集会包含多个变量和许多实例,这使得很难了解正在发生的事情。

例如,假设你是一个房地产经纪人,你正在尝试了解一个房屋的年龄和销售价格之间的关系. 如果你的数据包括5个房屋的1块,那么对正在发生的事情没有太大的感觉。然而,假设你想使用500个房屋的整个城市的数据。

可视化是通用方式传达概念的快速和简单方法,特别是对于那些不熟悉您的数据的人,当我们使用数据时,可视化往往是分析的必要部分。

我们将使用2D插图库,matplotlib(http://matplotlib.org/),它最初是由John D. Hunter撰写的,自那时起已成为一个非常活跃的开源开发社区项目。它允许您生成高质量的线程插图,散布插图,历史图,条图,等等。每个插图以不同的方式呈现数据,并且在为您的数据定位最具信息性的插图之前,经常有用尝试不同类型的插图。

鉴于可视化的重要性,本教程将描述如何使用matplotlib在Python中绘制数据,我们将通过使用小数据集生成散布式绘画,将标题和传说等信息添加到绘画中,并通过改变绘画点的外观来定制绘画。

当您完成本教程时,您将能够在Python中绘制数据!

前提条件

对于本教程,你应该有Python 3安装,以及在你的计算机上设置的本地编程环境. 如果不是这样,你可以通过遵循 适当的安装和设置指南为你的操作系统来设置。

步骤 1 – 导入 matplotlib

在我们开始在Python工作之前,让我们双重检查是否安装了matplotlib模块,在命令行中,通过运行以下命令来检查matplotlib:

1python -c "import matplotlib"

如果 matplotlib 已安装,此命令将没有错误完成,我们已经做好准备了,否则您将收到一个错误消息:

1[secondary_label Output]
2Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'matplolib'

如果您收到错误消息,请使用Pip下载库:

1pip install matplotlib

现在 matplotlib 已安装,我们可以 导入它在Python. 首先,让我们创建我们将在本教程中使用的脚本: scatter.py. 然后,在我们的脚本中,让我们导入matplotlib. 因为我们将只与插图模块(pyplot)一起工作,让我们在导入时指定这一点。

1[label scatter.py]
2import matplotlib.pyplot as plt

我们通过在matplotlib的末尾附加.pyplot来指定我们想要导入的模块,为了在我们的脚本中更容易参考该模块,我们将其缩写为plt

步骤 2 — 创建数据点到插图

在我们的Python脚本中,让我们创建一些数据来工作,我们在2D中工作,所以我们需要X和Y对每个数据点的坐标。

为了更好地了解matplotlib是如何工作的,我们将我们的数据与可能的现实生活场景相关联。让我们假装我们是咖啡店的所有者,我们对全年平均天气和冰咖啡购买总数之间的关系感兴趣。

在我们的Python脚本中,我们将创建两个列表变量:‘X’(销售的冰咖啡总量)和‘Y’(平均温度)。

1[label scatter.py]
2import matplotlib.pyplot as plt
3
4X = [590,540,740,130,810,300,320,230,470,620,770,250]
5Y = [32,36,39,52,61,72,77,75,68,57,48,48]

现在我们有数据,我们可以开始策划。

步骤3 - 编写数据

Scatter 插图非常适合确定两个变量之间的关系,所以我们将使用这个图形类型为我们的示例。 使用 matplotlib 创建散图,我们将使用 scatter() 函数. 该函数需要两个参数,代表 X 和 Y 坐标值。

1[label scatter.py]
2import matplotlib.pyplot as plt
3
4X = [590,540,740,130,810,300,320,230,470,620,770,250]
5Y = [32,36,39,52,61,72,77,75,68,57,48,48]
6
7plt.scatter(X,Y)
8plt.show()

每当我们创建一个场景时,我们也必须通过使用plt.show()来指定我们希望该场景显示。

在继续之前,让我们检查我们的脚本是否正在工作. 保存脚本并通过命令行运行它:

1python scatter.py

如果一切顺利,一个窗口应该启动,显示阴谋,如下:

Alt Scatter plot

此窗口非常适合查看数据;它是交互式的,包括几个功能,例如浮动显示标签和坐标,缩放或放大,并保存。

步骤 4 – 添加标题和标签

现在我们知道我们的脚本正常工作了,我们可以开始将信息添加到我们的情节. 为了澄清我们的数据代表了什么,让我们为每个轴列一个标题以及标签。

我们在我们的脚本中添加plt.show()行前的标题。

 1[label scatter.py]
 2import matplotlib.pyplot as plt
 3
 4X = [590,540,740,130,810,300,320,230,470,620,770,250]
 5Y = [32,36,39,52,61,72,77,75,68,57,48,48]
 6
 7plt.scatter(X,Y)
 8
 9plt.title('Relationship Between Temperature and Iced Coffee Sales')
10
11plt.show()

接下来,添加plt.title行下面轴的标签:

1[label scatter.py]
2...
3plt.xlabel('Cups of Iced Coffee Sold')
4plt.ylabel('Temperature in Fahrenheit')
5...

如果我们保存我们的脚本并重新运行它,我们现在应该有一个更具信息性的更新的阴谋。

Alt Scatter plot with a title and X/Y labels.

步骤5 - 定制一个阴谋

我们所使用的每个数据集都将是独一无二的,重要的是能够定制我们想要显示信息的方式。 记住可视化也是一种艺术,所以用它来创造性! matplotlib 包含许多定制功能,如不同的颜色,点符号和尺寸。 根据我们的需求,我们可能希望使用不同的尺寸来玩,使用不同的范围为我们的轴。

 1[label scatter.py]
 2import matplotlib.pyplot as plt
 3
 4X = [590,540,740,130,810,300,320,230,470,620,770,250]
 5Y = [32,36,39,52,61,72,77,75,68,57,48,48]
 6
 7plt.scatter(X,Y)
 8
 9plt.xlim(0,1000)
10plt.ylim(0,100)
11
12plt.title('Relationship Between Temperature and Iced Coffee Sales')
13
14plt.show()
15...

从原始的场景看点看起来有点小,蓝色可能不是我们想要的颜色. 也许我们想要三角形而不是圆形为我们的点. 如果我们想改变实际的颜色 / 尺寸 / 形状的点,我们必须在最初的plt.scatter()调用这些变化。

  • s:点大小,默认 = 20
  • c:颜色,序列,或颜色序列,默认 = 'b'
  • 标记:点符号,默认 = 'o'

可能的标记包括一些不同的形状,如钻石,六角形,星星等。颜色选择包括,但不限于蓝色,绿色,红色和。

为了使我们的场景更容易阅读,让我们将点的尺寸(s=60)三倍,将颜色改变为红色(c='r),并将符号更改为三角形(marker='^)。

1plt.scatter(X, Y, s=60, c='red', marker='^')

在运行我们的更新脚本之前,我们可以双重检查我们的代码是否正确。

 1[label scatter.py]
 2import matplotlib.pyplot as plt
 3
 4X = [590,540,740,130,810,300,320,230,470,620,770,250]
 5Y = [32,36,39,52,61,72,77,75,68,57,48,48]
 6
 7#scatter plot
 8plt.scatter(X, Y, s=60, c='red', marker='^')
 9
10#change axes ranges
11plt.xlim(0,1000)
12plt.ylim(0,100)
13
14#add title
15plt.title('Relationship Between Temperature and Iced Coffee Sales')
16
17#add x and y labels
18plt.xlabel('Cups of Iced Coffee Sold')
19plt.ylabel('Temperature in Fahrenheit')
20
21#show plot
22plt.show()

不要忘了保存你的脚本,然后继续到步骤6。

步骤6 - 保存一个阴谋

现在我们已经完成了我们的代码,让我们运行它,看看我们的新自定义阴谋。

1python scatter.py

现在应该打开一个窗口显示我们的场景:

Alt Final scatter plot with title and X/Y labels and customized with larger, red, triangle points.

接下来,通过点击保存按钮来保存插图,这是位于底部工具栏上的磁盘图标。请记住,图像将被保存为PNG而不是交互式图表。

结论

在本教程中,您了解了如何使用Python中的matplotlib编写数据,现在您可以可视化数据并定制插图。

要继续练习 matplotlib,您可以按照我们的指南在[如何使用Python 3]使用matplotlib图形字频率(https://andsky.com/tech/tutorials/how-to-graph-word-frequency-using-matplotlib-with-python-3)

Published At
Categories with 技术
comments powered by Disqus