2012-11-06 61 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

相关问题