使用新立得軟件包系統在Ubuntu 9.10我剛剛安裝matplotlib。 但是,當我嘗試以下簡單的例子沒有情節窗口matplotlib
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
我沒有得到任何繪圖窗口。關於如何讓情節窗口顯示的任何想法?
使用新立得軟件包系統在Ubuntu 9.10我剛剛安裝matplotlib。 但是,當我嘗試以下簡單的例子沒有情節窗口matplotlib
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
我沒有得到任何繪圖窗口。關於如何讓情節窗口顯示的任何想法?
您可以鍵入
import pylab
pylab.show()
或更好,使用ipython -pylab
。
出現任何錯誤?這可能是沒有設置後端的問題。您可以從Python解釋器或主目錄中的配置文件(.matplotlib/matplotlibrc
)對其進行設置。
要在代碼中設置,你可以做
import matplotlib
matplotlib.use('Agg')
其中「AGG的」是後端的名稱後端。哪些後端存在取決於您的安裝和操作系統。
http://matplotlib.sourceforge.net/faq/installing_faq.html#backends
完全作品,謝謝。清楚的是,最簡單的事情(當然,一旦你知道這是當然的工作)是將'.matplotlib/matplotlibrc'中的後端設置爲'backend:Agg'。那麼你不必每次都明確地使用一個:) – dsummersl 2014-08-25 00:37:55
pylab.show()
的作品,但塊(你需要關閉窗口)。
更方便的解決方法是在開始時執行pylab.ion()
(交互式模式):所有(等同於python的pyplot.*
命令)命令立即顯示它們的圖。 More information on the interactive mode可在官方網站上找到。
我也是第二次使用更方便ipython -pylab
(--pylab
,在新的版本),它可以讓你跳過from … import …
部分(%pylab
作品,也是在新的IPython版本)。
但你需要首先調用'pylab.show()'來打開一個圖。 – 2010-01-25 14:46:58
@Steve:我的經驗是,這強烈依賴於後端。在Mac OS X上使用常規的Python shell,我不必爲此做show()(或draw()):plot()打開一個新窗口。 – EOL 2010-01-25 16:46:56
啊,好的。好點子。我只有在Linux下使用ipython的經驗。 – 2010-01-25 18:42:00
試試這個:
import matplotlib
matplotlib.use('TkAgg')
前匯入pylab
這應該怎麼做? – 2012-09-17 21:22:51
現在正在工作,謝謝。 – agarie 2013-07-15 17:58:47
如果遇到其中pylab.show()
凍結IPython的窗口的問題(這可能是蘋果 OS X專用的;不知道),你可以在IPython窗口中輸入cmd-c,切換到繪圖窗口,它會打開。
顯然,未來調用pylab.show()
不會凍結IPython的窗口,只有在第一次調用。不幸的是,我發現每次我重新安裝matplotlib時,劇情窗口/ show()的交互行爲都會發生變化,所以這種解決方案可能並不總是成立。
下面的代碼片段適用於Eclipse和Python的外殼:
import numpy as np
import matplotlib.pyplot as plt
# Come up with x and y
x = np.arange(0, 5, 0.1)
y = np.sin(x)
# Just print x and y for fun
print x
print y
# Plot the x and y and you are supposed to see a sine curve
plt.plot(x, y)
# Without the line below, the figure won't show
plt.show()
正如其他很多答案所闡明的那樣,目前這可能適用於您,但這完全取決於您的matplotlib後端的配置方式。 – nealmcb 2014-11-23 21:53:12
另一種可能使用easy_install的時候是需要導入最新的matplotlib的版本。 嘗試:
import pkg_resources
pkg_resources.require("matplotlib")
導入matplotlib或任何模塊之前。
這只是確保'matplotlib'已安裝,不會影響窗口處理的完成方式。 – tacaswell 2013-08-09 14:13:04
如果您使用--pylab
選項啓動IPython,則不需要撥打show()
或draw()
。試試這個:
ipython --pylab=inline
--pylab
不再爲Jupyter,幸好我們可以在ipython_config.py
文件添加一個調整,以同時獲得pylab
以及autoreload
功能。
c.InteractiveShellApp.extensions = ['autoreload', 'pylab']
c.InteractiveShellApp.exec_lines = ['%autoreload 2', '%pylab']
現代IPython的使用具有可選的後端參數 「--matplotlib
」 的說法。它默認爲「自動」,這在Mac和Windows上通常足夠好。我沒有在Ubuntu或任何其他Linux發行版上測試過它,但我希望它能正常工作。
ipython --matplotlib
pylab默認情況下不顯示繪圖,因爲繪圖和不斷更新會很昂貴。你需要做一個明確的'show()'。 – 2010-01-25 08:15:25
關於這個問題的一些官方文檔:http://matplotlib.org/faq/installing_faq.html#matplotlib-compiled-fine-but-nothing-shows-up-when-i-use-it – stephenbez 2014-04-21 18:06:32