【发布时间】:2016-11-16 20:13:49
【问题描述】:
我目前正在尝试在我的代码中实现“缩放”功能。我的意思是我希望并排放置两个子图,其中一个包含初始数据,另一个包含由用户输入决定的“放大”图。
目前,我可以并排创建两个子图,但是在调用用户输入后,我的脚本不是更新第二个子图,而是在下面创建一个全新的图形,而不是更新第二个子图。重要的是首先绘制包含data 的图形,以便用户可以相应地选择输入值。
def plot_func(data):
plot_this = data
plt.close('all')
fig = plt.figure()
#Subplot 1
ax1 = fig.add_subplot(1,2,1)
ax1.plot(plot_this)
plt.show()
zoom = input("Where would you like to zoom to: )
zoom_in = plot_this[0:int(zoom)]
#Subplot 2
ax2 = fig.add_subplot(1,2,2)
ax2.plot(zoom_in)
plt.show()
上面的代码是我希望做的简化版本。显示一个子图,并基于该子图,让用户输入一个输入。然后要么编辑一个已经创建的子图,要么在第一个子图旁边创建一个新的子图。同样重要的是,“放大”的子图与第一个相对的子图并排在下方。
【问题讨论】:
-
你知道通常的matplotlib绘图窗口已经实现了Zoom tool吗?
-
我没有!感谢您的链接。尽管我并没有尝试实际缩放,而是尝试绘制与其自身平行的较大数据集的一部分。也许缩放是不正确的词。
-
那么也许您正在寻找something like this?
-
是的,虽然没有那么复杂。我不需要在第一个图中显示第二个图,只需将它们并排显示即可。
标签: python matplotlib figure subplot