18

私は64ビットでPython 2.7.3を使用しています。パンダとmatplotlib 1.1.1を両方とも64ビット用にインストールしました。現在、私のプロットはどれも表示されていません。いくつかの異なるデータフレームからプロットしようとした後、欲求不満であきらめ、http://pandas.pydata.org/pandas-docs/dev/visualization.htmlから次の最初の例を試しました:

入力:

import matplotlib.pyplot as plt
ts = Series(randn(1000), index=date_range ('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
pylab.show()

出力:

Axes(0.125,0.1;0.775x0.8)

そして、プロットウィンドウは表示されませんでした。私が読んだ他の StackOverflow スレッドは、DLL が不足している可能性があることを示唆しています。助言がありますか?

4

3 に答える 3

34

これがパンダの問題であるとはまったく確信していません。

する

import matplotlib.pyplot as plt
plt.plot(range(10))
plt.show()

プロットを作成しますか?

そうでない場合:

どのようにmatplotlibをインストールしましたか? ソースからですか、それともパッケージ マネージャー/ビルド済みのバイナリからインストールしましたか?

実行すると、次のようになります。

import matplotlib            
print matplotlib.rcParams['backend']

その結果、非 GUI バックエンド (ほぼ確実に「Agg」) になります。これは、適切な GUI ツールキットが利用できないことを示唆しています (私は個人的に Tkinter を使用しています。これは、バックエンドが "TkAgg" として報告されることを意味します)。

これに対する解決策はオペレーティング システムによって異なりますが、GUI ライブラリ (Tkinter、GTK、QT4、PySide、Wx のいずれか) をインストールできる場合はpyplot.show()、ウィンドウが表示されるはずです。

HTH、

于 2012-10-31T09:40:42.137 に答える
1

virtualenv内から作業しているときにこの問題が発生しました。

原因

この問題の原因は、pip install matplotlibバックエンドが (マシンにインストールされていても) 見つからないため、"agg" バックエンドを使用し、プロットを作成せず、単にファイルを書き込むことです。これが事実であることを確認するには、go:python -c "import matplotlib; print matplotlib.get_backend()"に移動します。おそらく が表示されaggます。

ただし、システム(virtualenvの外部)でmatplotlibを正常に使用できました。また、さまざまな理由で、PySide、PyQt のインストール、または TkAgg での動作に失敗しました。

解決

最終的に、自分のシステム バージョンの matplotlib へのリンクを作成しました (venv の外部から開始)。

...$ pip install matplotlib
...$ cd /to/my/venv/directory
...$ source venv/bin/activate
(venv) .... $ pip uninstall matplotlib
(venv) .... $ ln -s /usr/lib/pymodules/python2.7/matplotlib $VIRTUAL_ENV/lib.python*/site-packages

その後、matplotlib を使用すると、プロットが表示されます。ローカル バージョンの matplotlib は別の場所にある可能性があります。それがどこにあるかを確認するには、(pythonでvenvの外に)行きます

...$ python -c 'import matplotlib; matplotlib.__file__'
于 2016-03-03T18:32:41.953 に答える
0

これらのライブラリをインストールしてみてください。

$ sudo apt-get install tcl-dev tk-dev python-tk python3-tk
于 2020-05-20T11:20:29.917 に答える