Python 具有可缩放/可更新x轴的Matplotlib绘图

Python 具有可缩放/可更新x轴的Matplotlib绘图,python,matplotlib,Python,Matplotlib,是否可以创建滑块可以更新x轴长度/位置的绘图 是所需滑块类型的示例 可以找到类似的matplotlib滑块。不幸的是,正如您所看到的,没有关于它如何工作的文档/解释-这使得它很难理解/适应 我想将其添加到的绘图类型非常简单,下面是一个随机的小示例: import matplotlib.pyplot as plt import random li = [] for x in xrange(100): li.append(random.randint(0,20)) plt.plot(

是否可以创建滑块可以更新x轴长度/位置的绘图

是所需滑块类型的示例

可以找到类似的matplotlib滑块。不幸的是,正如您所看到的,没有关于它如何工作的文档/解释-这使得它很难理解/适应

我想将其添加到的绘图类型非常简单,下面是一个随机的小示例:

import matplotlib.pyplot as plt
import random

li = []
for x in xrange(100):
    li.append(random.randint(0,20))  

plt.plot(li)
plt.show()

这里有一些东西可以让你开始。它直接改编自matplotlib文档中的第二个示例-使用滑块更新打印边界,而不是缩放数据

import matplotlib.pyplot as plt
from matplotlib.widgets import Slider
import numpy as np

fig, ax = plt.subplots()
plt.subplots_adjust(bottom=0.25)
t = np.arange(0.0, 1.0, 0.001)
s = np.sin(5*np.pi*t)
l, = plt.plot(t,s)

viewwindow = 0.1

axpos = plt.axes([0.25, 0.1, 0.65, 0.03])
axslider = Slider(axpos, '', t[0]+viewwindow, t[-1]-viewwindow, valinit=(t[-1]+t[0])/2.0)

def update(val):
    new_pos = axslider.val
    ax.set_xbound(new_pos-viewwindow, new_pos+viewwindow)
    fig.canvas.draw_idle()

update(axslider.val)
axslider.on_changed(update)

plt.show() 

您知道如何设置x轴当前视图的值吗?它当前设置为0.2个单位,我看不出在哪里设置了(我假设它是默认设置)。但这太棒了,谢谢你!在我的示例中,x轴视图的范围由
viewwindow
变量设置。当滑块位置改变时,调用
update
函数,该函数将x边界设置为新位置+/-顺便说一句,matplotlib被广泛记录。您可以阅读更多有关滑块小部件如何工作以及有关轴函数(如set_xbound)的信息