网格出现在matplotlib/pyplot图表中

Mat*_*ECE 5 python matplotlib

我正在尝试将数据汇总表添加到我正在创建的图中:

import matplotlib.pyplot as plt

plt.figure()
plt.plot([0,2], [0,2])
plt.grid('on')

values = [[0,1],[2,3]]
rowLabels = ['row1', 'row2']
colLabels = ['col1', 'col2']

table = plt.table(cellText=values, colWidths=[0.1]*3, rowLabels = rowLabels, 
      colLabels=colLabels, loc = 'center right')
Run Code Online (Sandbox Code Playgroud)

但是在网格和表格重叠的情况下,网格仍然可见,这使得表格难以阅读.

所以我尝试添加此代码将表格单元格的背景设置为白色和不透明,如下所示:

cells = table.get_celld()

for cell in cells:
    cells[cell].set_facecolor('white')
    cells[cell].set_alpha(1)
Run Code Online (Sandbox Code Playgroud)

但它没有改变.如果我使用的颜色不是白色,我可以看到它正在设置单元格颜色,但网格仍然是可见的,这让我觉得网格正在绘制在桌面上而不是在其后面.

有人知道一种方法来获取带有网格的图表,但保持网格不在表格中吗?

谢谢!

使用当前最新的matplotlib:版本1.3.1

beh*_*uri 5

试试这个:

table.set_zorder(100)
Run Code Online (Sandbox Code Playgroud)

来自docs:

首先绘制具有较低zorder值的艺术家.

所以一个高zorder将带来艺术家.