Я использую matplotlib для интерактивного просмотра большого набора данных. Я хотел бы увеличить / панорамировать представление без перерисовки по соображениям производительности. Легко создать новый диапазон просмотра x и применить его с set_xlim(left,right)
. Но, похоже, не существует автоматического способа отображения нового вида с соответствующим значением, ограниченным осью у, в зависимости от нового диапазона х.
autoscale(enable=True, axis='y')
находит y max и min из all отрисованных данных, и не ограничивается данными y на основе предела x view Есть ли такой режим или функция, или 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:')