簡體   English   中英

matplotlib 繪圖窗口不會出現

[英]matplotlib plot window won't appear

我在 64 位中使用 Python 2.7.3。 我為 64 位安裝了 Pandas 和 matplotlib 1.1.1。 現在,我的圖都沒有顯示。 在嘗試從幾個不同的數據幀繪圖后,我沮喪地放棄並嘗試了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。 有什么建議么?

我根本不相信這是熊貓問題。

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()應該會為您彈出一個窗口。

哈,

在 virtualenv 中工作時遇到了這個問題。

原因

問題的原因是,當您pip install matplotlib ,它無法找到任何后端(即使它們已安裝在您的機器上),因此它使用了“agg”后端,該后端不進行任何繪圖,僅寫入文件。 要確認是這種情況,請執行: python -c "import matplotlib; print matplotlib.get_backend()" ,您可能會看到agg

但是,我可以在系統上成功使用 matplotlib(在 virtualenv 之外)。 由於各種不同的原因,我也未能安裝 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 可能位於不同的位置。 要查看它在哪里,請轉到(在 venv 之外,在 python 中)

...$ python -c 'import matplotlib; matplotlib.__file__'

嘗試安裝這些庫,它對我有用:

$ sudo apt-get install tcl-dev tk-dev python-tk python3-tk

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM