據我所知,你不能隨意地方使用唯一的本地matplotlib
功能matplotlib
情節的表。你可以做的是利用latex
text rendering的可能性。但是,爲了做到這一點,您應該在系統中使用latex
環境。如果你有一個,你應該能夠生成圖表,如下面:
import pylab as plt
import matplotlib as mpl
mpl.rc('text', usetex=True)
plt.figure()
ax=plt.gca()
y=[1,2,3,4,5,4,3,2,1,1,1,1,1,1,1,1]
#plt.plot([10,10,14,14,10],[2,4,4,2,2],'r')
col_labels=['col1','col2','col3']
row_labels=['row1','row2','row3']
table_vals=[11,12,13,21,22,23,31,32,33]
table = r'''\begin{tabular}{ c | c | c | c } & col1 & col2 & col3 \\\hline row1 & 11 & 12 & 13 \\\hline row2 & 21 & 22 & 23 \\\hline row3 & 31 & 32 & 33 \end{tabular}'''
plt.text(9,3.4,table,size=12)
plt.plot(y)
plt.show()
結果是:
請採取記住,這是quick'n'dirty例子;你應該能夠通過玩文本座標來正確放置桌子。也請參閱docs,如果你需要改變字體等
UPDATE:更多pyplot.table
按照documentation,plt.table
增加了一個表,當前軸。從源頭上可以明顯看出,圖表上的表格位置與軸相關。可以使用關鍵字top
(圖上方),upper
(上半部分),center
(中間部分),lower
(下半部分)和bottom
(下方圖表)來控制座標(Y
)。使用關鍵字left
和right
來控制X
座標。這兩部作品的任何組合,例如可以使用top left
,center right
和bottom
中的任何一個。
所以最接近的圖形給你想要的東西可以用進行:
import matplotlib.pylab as plt
plt.figure()
ax=plt.gca()
y=[1,2,3,4,5,4,3,2,1,1,1,1,1,1,1,1]
#plt.plot([10,10,14,14,10],[2,4,4,2,2],'r')
col_labels=['col1','col2','col3']
row_labels=['row1','row2','row3']
table_vals=[[11,12,13],[21,22,23],[31,32,33]]
# the rectangle is where I want to place the table
the_table = plt.table(cellText=table_vals,
colWidths = [0.1]*3,
rowLabels=row_labels,
colLabels=col_labels,
loc='center right')
plt.text(12,3.4,'Table Title',size=8)
plt.plot(y)
plt.show()
這給你
希望這有助於!
您是否嘗試過[this](http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/table_demo.py)示例?或者你甚至可以做一些[類似的](http://matplotlib.sourceforge.net/examples/pylab_examples/annotation_demo3。HTML),但不是註釋,你有一張桌子。 – cosmosis 2011-12-15 20:36:14
是的,我看到了這個例子。當我嘗試使用代碼時,我無法分配行顏色和位置。我也無法找到關於調用的語法或類型的任何文檔幫助。至於註釋,我相信有更多的控制指定第二個軸來繪製表格。 – user1032355 2011-12-16 07:01:18