用Python在图中添加一个数据表

用Python在图中添加一个数据表

在这篇文章中,我们将学习如何使用Python向图表中添加数据表。

尽管matplotlib 主要是一个绘图库,但在制作图表时,它也能协助我们完成一些小任务,比如在我们有吸引力的视觉效果旁边有一个漂亮的数据表格。

关键是要理解我们为什么要在绘图中添加一个表。以视觉方式绘制数据的主要目的是澄清原本无法理解(或几乎无法理解)的数据值。现在我们要把数据加回去。直接在图表下面放一个大的数值表是不可取的。

然而,从整个图表数据集中适当选择,也许是加总,或突出显示的数值,可能会确定图表的重要区域,或突出显示那些准确数值(例如,以美元计的年销售额)很重要(甚至是必须的)的地方的重要数值。

用数据表绘制地图

算法(步骤)

以下是执行所需任务时需要遵循的算法/步骤。

  • 使用import关键字来导入matplotlib和numpy 模块的pylab
  • 使用pylab模块的figure() 函数(用于创建一个新的图形)创建一个新的图形。
  • gca() 函数(在当前图形上获取或创建与指定关键字args匹配的当前轴对象)
  • 创建一个变量,通过给出一些随机值来存储列标签 的列表。
  • 创建另一个变量,通过给出一些随机值来存储行标签 的列表。
  • 创建另一个变量,通过给出一些随机值来存储一个表的值 列表。
  • 创建另一个变量,通过给出一些随机值来存储颜色 列表。
  • 使用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()

输出

在执行时,上述程序将产生以下输出:

用Python在图中添加一个数据表

它是如何工作的

我们用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.Table的实例,将其添加到图中。

我们可以直接使用matplotlib.table.Table 类,在使用add_table() 函数将其添加到坐标轴实例之前,对我们的表格进行微调。

总结

在这篇文章中,我们学习了如何使用Python的plt.table()方法将一个数据表添加到图中。为了更好地理解这个table()方法的操作,我们还学习了它的语法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程