Skip to main content
 首页 » 编程设计

python之matplotlib 自动 yaxis

2025年05月04日6grandyang

我正在使用 matplotlib 以交互方式查看大型数据集。出于性能原因,我想缩放/平移 View 而不重绘它。创建新的 x View 范围并使用 set_xlim(left,right) 应用它很容易。但是似乎没有一种自动的方式来显示新 View ,其中 y 轴根据新的 x 范围适本地限制值。

autoscale(enable=True, axis='y') 从绘制的所有数据中找到y的最大值和最小值,而不局限于基于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:') 

请您参考如下方法:

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

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