Python matplotlib自动轴

Python matplotlib自动轴,python,matplotlib,Python,Matplotlib,我正在使用matplotlib以交互方式查看大型数据集。出于性能原因,我希望在不重新绘制视图的情况下缩放/平移视图。创建新的x视图范围并使用set_xlimleft、right应用它很容易。但是,似乎没有一种自动的方式来显示y轴的值根据新的x范围进行适当限制的新视图 autoscaleenable=True,axis='y'从绘制的所有数据中查找y最大值和最小值,而不限于基于x视图限制的y数据。是否存在任何此类模式或功能,或者必须将set_ylim与手动计算的范围一起使用 以下是一个例子: #!

我正在使用matplotlib以交互方式查看大型数据集。出于性能原因,我希望在不重新绘制视图的情况下缩放/平移视图。创建新的x视图范围并使用set_xlimleft、right应用它很容易。但是,似乎没有一种自动的方式来显示y轴的值根据新的x范围进行适当限制的新视图

autoscaleenable=True,axis='y'从绘制的所有数据中查找y最大值和最小值,而不限于基于x视图限制的y数据。是否存在任何此类模式或功能,或者必须将set_ylim与手动计算的范围一起使用

以下是一个例子:

#! /usr/bin/env python

import matplotlib.pyplot as plt
import numpy as np

plt.ioff()
fig = plt.figure(1)
ax = plt.subplot(111, axisbg='black')

tick = np.arange(10)

ax.grid(b=True, color='white')
ax.autoscale(enable=True, axis='x', tight=False)
ax.autoscale(enable=True, axis='y', tight=True)
ax.plot(tick, color='#ff3333', linestyle='-')

fig.canvas.draw()
raw_input('enter:')

ax.set_xlim(2, 5)
fig.canvas.draw()
raw_input('enter:')    

ax.set_xlim(1, 6)
fig.canvas.draw()
raw_input('enter:')

对不起,我提交了一个错误问题的答案


但我认为手动计算范围并不难。或者您可以使用plt.ion并使用放大镜适当放大。

对不起,我提交了错误问题的答案


但我认为手动计算范围并不难。或者您可以使用plt.ion并使用放大镜适当放大。

我从未找到通过matplotlib确定基于x的渲染y限制的方法

然而,有两个因素似乎不需要这样做

matplotlib 1.2.1比我以前使用的版本有很大的性能提升。 对于OSX来说,将后端从“MacOSX”更改为“TkAgg”可以大大提高所用线条样式的性能。
总之,收益大约为10-20x,这使得数据集的交互式浏览实时进行,因此不需要额外的破解。

我从未找到一种方法通过matplotlib确定基于x的渲染y限制

然而,有两个因素似乎不需要这样做

matplotlib 1.2.1比我以前使用的版本有很大的性能提升。 对于OSX来说,将后端从“MacOSX”更改为“TkAgg”可以大大提高所用线条样式的性能。 总而言之,收益大约为10-20倍,这使得数据集的交互式浏览变得实时,因此不需要额外的黑客攻击