Jupyter(IPython)笔记本:在qt模式下绘图+提示raw_input()

时间:2015-12-02 09:08:14

标签: python matplotlib ipython-notebook jupyter

我试图在Jupyter笔记本(Python 2.7)中绘图,然后提示用户输入,保存然后更改情节(这是关键点:我不想创建新的情节,我需要在用户输入后修改旧的)。这完全不起作用。它不是显示图形然后提示输入,而是打开图形窗口,但冻结(不显示任何内容),直到我响应raw_input()提示。只有这样才能形成。

显示错误的简单版代码:

import matplotlib.pyplot as plt
%matplotlib qt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3],[1,2,3])
plt.show(block=False)
my_input = raw_input()

这个bug只在我使用%matplotlib qt时出现,但我必须使用它,因为%matplotlib内联我无法在显示后修改绘图(至少据我所知)。

事实上,我注意到它冻结直到单元格执行结束,即使它只是time.sleep()。

我错过了什么吗? matplotlib如何显示数字的一些设置?

1 个答案:

答案 0 :(得分:1)

由于我使用的是Python3,因此我必须将raw_input()更改为input()并删除block=False,因为IPython告诉我这是一个未知属性。

这应该很好用:

import matplotlib.pyplot as plt
%matplotlib inline

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3], [1,2,3])
plt.show()
my_input = input()

确定,您需要根据自己的需要调整它以适应您的需求。