如何在 Matplotlib 中的绘图上放置表格?

matplotlibpythondata visualization

步骤

  • 使用subplots()方法创建一个图形和一组图形大小为 (7, 7) 的子图。

  • 创建一个包含两个键的数据框,timespeed

  • 获取数组的大小。

  • 使用table方法将表格添加到当前轴。

  • 缩小字体大小,直到文本适合单元格宽度。

  • 设置表格中的字体大小。

  • 设置面通过迭代 matplotlib 表来获取颜色、边缘颜色文本颜色

  • 保存并显示图形。

示例

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, ax = plt.subplots()
df = pd.DataFrame(dict(time=list(pd.date_range("2021-01-01 12:00:00",
periods=10)), speed=np.linspace(1, 10, 10)))
size = (np.array(df.shape[::-1]) + np.array([0, 1])) * np.array([3.0, 6.0])
mpl_table = ax.table(cellText=df.values, bbox=[0, 0, 1, 1], colLabels=df.columns)
mpl_table.auto_set_font_size(False)
mpl_table.set_fontsize(12)
for k, cell in mpl_table._cells.items():
   cell.set_edgecolor('black')
   if k[0] == 0 or k[1] < 0:
      cell.set_text_props(weight='bold', color='w')
      cell.set_facecolor('red')
   else:
      cell.set_facecolor(['green', 'yellow'][k[0] % 2])
plt.show()

输出


相关文章