Python 具有可缩放/可更新x轴的Matplotlib绘图
是否可以创建滑块可以更新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(
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)的信息