2015-12-02 174 views
1

我想在Jupyter笔记本(Python 2.7)中绘制,然后提示用户输入,保存它,然后改变情节(这是一个至关重要的点:我不想创建一个新的情节,我需要在用户输入后修改旧情节)。这完全无法工作。除了显示图形并提示输入之外,它会打开数字窗口,但会冻结(不显示任何内容),直到我响应raw_input()提示。只有这样它才能重复。Jupyter(IPython)笔记本:剧情在qt模式+提示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() 

这一问题只当我用%matplotlib QT,但我不得不使用它,因为%matplotlib直列我无法修改显示显示之后进行绘图(至少据我所知)。

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

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

回答

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() 

皮草肯定的是,你需要适应这一回Python2满足您的需求。

+0

您可以在绘制内联后修改绘图吗?这就是我使用“qt”而不是内联的原因,这是我更喜欢的。 –

+1

'qt'不适合我 – albert

相关问题