23

私は初心者向けのこのチュートリアルを使用してMatPlotLibを学び始めました。これが最初の例です。

from pylab import *
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

これらの3行をPythonファイルに書き込み、コマンドラインで(と入力してpython file_name.py)実行しても、何も起こりません。エラーメッセージもプロットもありません。

なぜ私がプロットを見ないのか誰かが知っていますか?

追加した

もちろん、使用する必要がありますshow。ただし、次の3行を追加しても:

plot(X,C)
plot(X,S)
show()

それでも何も生成されません。

追加した

これが私が今使っている線です:

import pylab as p
C = [1,2,3,4]
S = [10, 20, 30, 10]
p.plot(C,S)
p.show()

私はまだ同じ結果を持っています(何もありません)。

4

3 に答える 3

52

バックエンドに問題がある可能性があります。の出力は python -c 'import matplotlib; import matplotlib.pyplot; print(matplotlib.backends.backend)'何ですか?

「agg」バックエンドの場合、画面には何も表示されないが plt.savefig(...) で動作する非対話型バックエンドであるため、予想される動作が表示されます。を使用できるようにするには、たとえば TkAgg または Qt4Agg に切り替える必要がありますshow。matplotlib.rc ファイルで実行できます。

@shashank: 12.04 と 12.10 の両方で問題なく matplotlib を実行しています。どちらの場合も、Qt4Agg バックエンドを使用します。matplotlibrc が設定されていない場合は、デフォルトのバックエンドが使用されます。PreciseのmatplotlibレポはTkAggで構築されたと確信しています。Quantal バージョンが Agg などで構築されている場合、それが違いを説明します。

于 2013-01-28T10:15:22.110 に答える
14

関数を呼び出す必要があります。

show()

より正確には:

pylab.show()

使用しないでください:

from pylab import *

むしろ行う:

import pylab as p:

その後:

X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

p.plot(C,S)
p.show()
于 2013-01-28T09:22:39.143 に答える