Python 向图形添加数据表
在本文中,我们将学习如何使用Python向图形添加数据表。
尽管 matplotlib 主要是一个绘图库,但它也可以在制作图表时协助我们进行一些次要任务,例如在我们的吸引人的可视化效果旁边放置一个漂亮的数据表。
了解为什么要将表格添加到图中非常重要。可视化数据的主要目标是澄清原本难以理解(或几乎无法理解)的数据值。现在我们想要将数据重新添加进来。不建议只在图表下方放置一个大的带有数值的表格。
然而,适当选择、或者对整个图表数据集求和、或者突出显示的值,可以识别图表的重要区域,或者在精确值(例如年度销售额(以USD计量))重要(甚至是必需)的地方突出显示重要值。
使用数据表绘制地图
步骤
以下是执行所需任务的算法/步骤。
- 使用import关键字导入matplotlib的 pylab 和 numpy 模块。
-
使用 figure() 函数创建一个新的图形(用于创建一个新图形)。
-
gca() 函数(在当前图形上获取或创建与指定关键字参数匹配的当前坐标轴对象)。
-
创建一个变量以存储 列标签 的列表,给出一些随机值。
-
通过给出一些随机值,创建另一个变量来存储 行标签 的列表。
-
通过给出一些随机值,创建另一个变量来存储表格的 值 的列表。
-
通过给出一些随机值,创建另一个变量来存储 行 中的 颜色 的列表。
-
使用 table() 函数创建一个表格,将上述给定的表格值、宽度、行、列标签、行颜色和要放置的位置作为参数赋值给它。
-
使用 plot() 函数绘制图形。
-
使用 show() 函数显示图形。
示例
以下程序通过向图形中添加数据表来显示图形 –
# importing pylab of matplotlib, NumPy modules
import matplotlib.pylab as plt
import numpy as np
# creating a new figure
plt.figure()
# Find the most recent instance of matplotlib.axes.Axes on the current figure
ax = plt.gca()
# Get some random number
y = np.random.randn(9)
# list of column labels
columnLabels = ['column_1','column_2','column_3']
# list of row labels
rowLabels = ['row_1','row_2','row_3']
# list of values of a table
tableValues = [[10, 15, 20], [8, 18, 25], [12, 30, 16]]
# list of colors of a row
rowColors = ['pink', 'yellow', 'green']
# creating a table using table() function by assigning table values,
# widths, above given row, column labels, row colors, location to be placed
# as arguments to it.
my_table = plt.table(cellText=tableValues,
colWidths=[0.1] * 3,
rowLabels=rowLabels,
colLabels=columnLabels,
rowColours=rowColors,
loc='upper right')
# plotting a plot
plt.plot(y)
# displaying the plot
plt.show()
输出
在执行上述程序时,将生成以下输出 –
工作原理是什么
我们使用 plt.table() 函数创建了一个单元格表格,并将其添加到当前轴中。表格中的行和列标题是可选的。每个表格单元中可以找到标记或文本。可以自定义表格的列宽和行高。返回值是由组成表格的对象(文本、线条和补丁实例)组成的列表。
plt.table()函数的语法
table(cellText=None, cellColours=None,
cellLoc='right', colWidths=None,
rowLabels=None, rowColours=None, rowLoc='left',
colLabels=None, colColours=None, colLoc='center',
loc='bottom', bbox=None)
这个函数创建并返回一个 matplotlib.table.Table 实例。这在matplotlib中很常见;只有一种方法可以将表格添加到图形中。可以直接访问面向对象的接口。我们可以利用matplotlib.table。
我们可以直接使用 matplotlib.table.Table 类来调整表格,并使用 add_table() 函数将其添加到坐标轴实例中。
结论
在本文中,我们学习了如何使用Python的plt.table()方法将数据表添加到图形中。为了更好地理解这个table()方法的操作,我们还研究了它的语法。