是否可以设置绘图以在展开时显示更多数据?
Matplotlib 在调整大小时绘制比例。要显示可以使用的特定区域set_xlim
在轴上我有一个显示实时数据的类似 ecg 的图,它的 y 限制是预定义的,但是如果我扩大窗口或只有大显示器,我想沿着 x 看到更多数据。
我在 pyside 应用程序中使用它,我可以在调整大小时更改 xlim,但我想要更干净和通用的解决方案。
是否可以设置绘图以在展开时显示更多数据?
Matplotlib 在调整大小时绘制比例。要显示可以使用的特定区域set_xlim
在轴上我有一个显示实时数据的类似 ecg 的图,它的 y 限制是预定义的,但是如果我扩大窗口或只有大显示器,我想沿着 x 看到更多数据。
我在 pyside 应用程序中使用它,我可以在调整大小时更改 xlim,但我想要更干净和通用的解决方案。
一种方法是为resize_event
. 这是一个如何做到这一点的简短示例。您可以根据需要对其进行修改:
import numpy as np
import matplotlib.pyplot as plt
def onresize(event):
width = event.width
scale_factor = 100.
data_range = width/scale_factor
start, end = plt.xlim()
new_end = start+data_range
plt.xlim((start, new_end))
if __name__ == "__main__":
fig = plt.figure()
ax = fig.add_subplot(111)
t = np.arange(100)
y = np.random.rand(100)
ax.plot(t,y)
plt.xlim((0, 10))
cid = fig.canvas.mpl_connect('resize_event', onresize)
plt.show()