使用matplotlib绘制好看的表格
时间: 2023-10-16 09:10:40 浏览: 179
以下是一个简单的例子,演示如何使用matplotlib绘制一个带有表头和数据的表格:
```python
import matplotlib.pyplot as plt
# 定义数据
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 定义表头
column_labels = ["Column 1", "Column 2", "Column 3"]
# 定义行标签
row_labels = ["Row 1", "Row 2", "Row 3"]
# 创建图表
fig, ax = plt.subplots()
# 创建表格
table = ax.table(cellText=data, colLabels=column_labels, rowLabels=row_labels, loc="center")
# 设置表格字体大小
table.set_fontsize(14)
# 设置表格边框线宽度
for key, cell in table.get_celld().items():
cell.set_linewidth(0.5)
# 隐藏坐标轴
ax.axis("off")
# 显示图表
plt.show()
```
在这个例子中,我们首先定义了一个3x3的数据矩阵,然后定义了一个包含三个表头的列表和一个包含三个行标签的列表。接下来,我们使用`plt.subplots()`函数创建一个图表,然后使用`ax.table()`函数创建一个表格,将数据、表头和行标签传递给该函数。我们还使用`table.set_fontsize()`函数设置表格的字体大小,并使用`table.get_celld().items()`函数遍历表格中的所有单元格,并使用`cell.set_linewidth()`函数设置表格的边框线宽度。最后,我们隐藏了坐标轴,并使用`plt.show()`函数显示图表。
此外,还可以使用Pandas库中的`DataFrame`来创建表格,并使用`df.plot()`函数绘制表格,如下所示:
```python
import pandas as pd
# 定义数据
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 定义表头
column_labels = ["Column 1", "Column 2", "Column 3"]
# 定义行标签
row_labels = ["Row 1", "Row 2", "Row 3"]
# 创建DataFrame
df = pd.DataFrame(data=data, columns=column_labels, index=row_labels)
# 绘制表格
ax = df.plot(kind="table", cellLoc="center", cellColours=[["lightgray" for _ in range(3)] for _ in range(3)])
# 隐藏坐标轴
ax.axis("off")
# 显示图表
plt.show()
```
在这个例子中,我们首先使用Pandas库中的`DataFrame`来创建一个3x3的数据矩阵,并将表头和行标签传递给该函数。接下来,我们使用`df.plot()`函数绘制表格,并使用`cellLoc="center"`参数将单元格的内容居中对齐。我们还使用`cellColours`参数设置单元格的颜色。最后,我们隐藏了坐标轴,并使用`plt.show()`函数显示图表。
阅读全文