2012-11-06 84 views
3

我推出了採用IPython的筆記本:使用matplotlib時IPython的筆記本plt.show()功能不起作用

$ ipython notebook --pylab=inline 

在命令提示符。

運行這個時:

from matplotlib import pyplot as plt 
fig = plt.figure() 
ax1 = fig.add_subplot(111) 
ax1.plot([1,2,3]) 

它自動生成的圖表,而無需使用plt.show()函數,但是我發現plt.show功能不工作對我來說,還是有些其他函數像plt.legend()。

有人知道爲什麼會發生這種情況,或者我該如何解決這個問題?

回答

2

plt.show()不會執行任何操作,因爲當您激活--pylab模式時,matplotlib會以交互模式執行,即使不使用show()也會顯示。

關於這個傳說,你是什麼意思,它不起作用?如果您獲得「找不到標籤的對象」這樣的錯誤,那是因爲在顯示的行代碼中,您沒有將標籤參數設置爲圖

0

如上所述,您不需要導入pyplot。 嘗試:

fig = figure() 
ax1 = fig.add_subplot(111) 
ax1.plot([1,2,3]) 

然後:

ax1.legend(('hello',)) 
fig.show() 

將繪製一個傳奇的身影。
使用Ipython非常容易查看提示文檔以及可用的屬性和方法。

+0

謝謝你們。有沒有辦法,我可以啓動ipython,以便它只在我使用plt.plot()函數時進行繪圖? –

+1

@SeanGeoffreyPietz如果你在沒有'inline'的情況下啓動,數字只出現在一個單獨的交互式窗口中,並且只有在show()(例如:只是'--pylab'在ipython命令行或'from pylab import *'你的筆記本)。確保你有一個matplotlib的GUI後端,或者不顯示任何內容。 (谷歌'matplotlibrc'和「後端」以瞭解如何) – drevicko

相關問題