私の知る限り、あなただけのネイティブmatplotlib
の機能を使用してmatplotlib
プロット上ではない任意場所のテーブルをすることができます。あなたができることはlatex
text renderingの可能性を利用することです。ただし、これを行うには、システム内の作業環境がlatex
である必要があります。あなたは1を持っている場合、あなたは、以下のようにグラフを生成することができるようになります。
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例であることに注意してみてください。テキスト座標で再生することでテーブルを正しく配置できるはずです。あなたがなど
UPDATEフォントを変更する必要がある場合もdocsを参照してください:もっとpyplot.table
にdocumentationによると、plt.table
は、現在の軸にテーブルを追加します。ソースからは明らかですが、グラフ上のテーブルの位置は軸との関係で決まります。 Y
座標は、キーワードtop
(上のグラフ)、upper
(上半分)、center
(中央)、lower
(下半分)およびbottom
(下図)で制御できます。 X
の座標は、キーワードleft
とright
で制御されます。 2つの作品の任意の組み合わせ、例えば。 top left
,center right
、bottom
のいずれでもOKです。
だから、あなたが望むものに近いグラフはで作ることができます
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
はい私はその例を見ました。私はコードを使用しようとしたとき、私は行の色と配置を割り当てることができませんでした。私はまた、呼び出しの構文や型に関するドキュメントヘルプを見つけることができませんでした。注釈については、テーブルをプロットするための第2の軸を指定するコントロールが多くあると考えています。 – user1032355