我正在使用matplotlib交互式查看大型數據集。我想放大/平移視圖而不出於性能原因重新繪製視圖。創建新的x視圖範圍並將其與set_xlim(left,right)
一起使用很容易。但似乎沒有一種自動的方式來顯示新的視圖,並根據新的x範圍適當限制y軸的值。matplotlib auto yaxis
autoscale(enable=True, axis='y')
找到y最大和最小從全部繪製的數據,並不限於基於x視圖限制的y數據。有沒有這種模式或功能,還是必須使用手動計算的範圍?
下面是一個例子:
#! /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:')