我试图在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如何显示数字的一些设置?
答案 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()
确定,您需要根据自己的需要调整它以适应您的需求。