python Matplotlib如何实现类似分页的功能

需求:假如每天有1000条数据,1000个点,共有100天,如果把1000 * 100天的数据放在一个view里面,不能直观的看到数据的具体表现,有没有办法实现一个类似的功能,每次看1000条数据,然后通过点击看下一页的数据,Matplotlib能实现这样的功能吗。

x = [1,2,3]
day1 = [1,2,3]
day2 = [2,4,6]
......
dayn = [100,200,300]
plt.plot(x,dayn ,color='red')

如何能很好的一天一天的画图,每次看到的只是一天的数据

阅读 5.4k
1 个回答

当然可以,可以使用 matplotlib 的滑块组件。

下面这个例子,通过拖动滑块显示不同的图像

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

fig, ax = plt.subplots()
plt.subplots_adjust(left=0.25, bottom=0.25)

axindex = plt.axes([0.25, 0.1, 0.65, 0.03], facecolor='lightgoldenrodyellow')
sindex = Slider(axindex, 'Index', 1, 10, valinit=2, valstep=1)

def update(val):
    index = int(sindex.val)
    ax.clear()
    ax.set_xlabel('index={}'.format(index))
    x = np.arange(0, 2*np.pi, 0.01)
    y = np.sin(x * (2 ** index))
    ax.plot(x, y)
    fig.canvas.draw_idle()
sindex.on_changed(update)

update(None)
plt.show()

动画效果图
图片描述

如果要输出报告,可改用 PDF 分页。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题