如何在 Matplotlib 中的绘图上放置表格?
matplotlibpythondata visualization
步骤
使用subplots()方法创建一个图形和一组图形大小为 (7, 7) 的子图。
创建一个包含两个键的数据框,time和speed。
获取数组的大小。
使用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()