2013-12-20 68 views
4

我想一個數據彙總表添加到情節我創建像這樣表裏面出現:電網在matplotlib/pyplot圖

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') 

不過是格柵和表重疊網格仍然可見,這使得表格難以閱讀。

於是,我將此代碼添加到表格單元格的背景設置爲白色和不透明的,像這樣:

cells = table.get_celld() 

for cell in cells: 
    cells[cell].set_facecolor('white') 
    cells[cell].set_alpha(1) 

但它不會改變。如果我使用的顏色不是白色,我可以看到它設置了單元格顏色,但網格仍然可見,這使我認爲網格正在繪製在桌面上而不是在它後面。

任何人都知道一種方法來獲取帶有網格的圖表上的表格,但保持網格不在表格中?

謝謝!

採用當前最新matplotlib:1.3.1版

回答

4

試試這個:

table.set_zorder(100) 

docs

藝術家較低ZORDER值首先繪製。

因此,一個高zorder將帶來藝術家。

+1

這解決了這個問題。並且單元格的背景已經是白色的,所以一旦zorder被調整,使用我的第二段代碼就不需要在它們中繪製白色背景。 謝謝! – MattskECE