2016-05-26 3 views
4

タイトルが言うものとまったく同じです。 matplotlibライブラリを使用する方法はありますか? TCLのインストールはありますか?私は、弾丸を噛んでTCLをインストールするように言ってはいけません - 私はそれを行う方法を知っていますが、私が望んでいない私自身の(okかもしれない愚かな)理由のために。matplotlib *を使用しないで* TCL

私はプロットを表示することは気にせず、pngで出力できるだけです。私は様々なバックエンドなどを使って試しましたが、matplotlibは常にtclが動作するようにしたいと思っていました:(なぜTCLはmatplotlibには不可欠なのですか)

また、私はウィンドウを使用しています。ピップを使用して(numpyの、パンダ、matplotlibの)を必要とすることヘリットのソリューション@

が正しいものである(私はバックエンドを変更しようとしていたが、私はそれを後のロードpyplotをしていた - 。重要なことは、ということのようですmatplotlibを実行した直後にバックエンドを変更する必要があります)。これを使用した小さな例です:

 
import matplotlib 
matplotlib.use('Agg') 
import matplotlib.pyplot as plt 

fig, ax = plt.subplots(nrows=1, ncols=1) 
ax.plot([0,1,2], [10,20,3]) 

fig.savefig('foo.png') 
plt.close(fig) 

この意志の出力は、TCLを使用せずに 'foo.png' という名前のファイル\ O/

答えて

9

すぐmatplotlibのをロードした後、

matplotlib.use('Agg') 

を入力するすべてであれば、pyplotをロードする前にこれを行います。

デフォルトでは、MatplotlibはTclを必要とするTkAggバックエンドを使用します。プロットを表示しない場合は、Aggは問題ありません。他の選択肢にはWXQTAggが含まれますが、どちらも追加のライブラリのインストールが必要です。

代わりに、あなたはあなたのmatplotlibrcファイルにこのディレクティブを設定することができます。

backend : Agg 

詳細については、バックエンドで何Matplotlib Usage FAQを参照してください?

+0

はい、動作します。私はあなたのソリューションを使用する小さな例で私の質問を更新しました - ありがとう! – Serafeim

関連する問題