Python 最初打印正确设置所有轴的数据时执行的matplotlib函数的名称是什么?
当我在未设置任何参数的情况下使用matplotlib打印某些数据时,数据会在正确设置x轴和y轴限制的情况下打印,这意味着显示所有数据,并且不会浪费空间(情况1): 结果: 如果我给e设置一些限制。Gx轴,即使使用Python 最初打印正确设置所有轴的数据时执行的matplotlib函数的名称是什么?,python,matplotlib,Python,Matplotlib,当我在未设置任何参数的情况下使用matplotlib打印某些数据时,数据会在正确设置x轴和y轴限制的情况下打印,这意味着显示所有数据,并且不会浪费空间(情况1): 结果: 如果我给e设置一些限制。Gx轴,即使使用autoscale()也不再自动缩放y轴(情况2): 结果: 问题:matplotlib内部使用哪个函数来确定两个轴的限制,并在情况1中更新绘图? 背景:我想将此功能用作案例2重新实现/扩展此功能的基础。正如下面的答案所指出的,目前还没有这样的自动化方法。因此,如果您有兴趣了解如何重
autoscale()
也不再自动缩放y轴(情况2):
结果:
问题:matplotlib内部使用哪个函数来确定两个轴的限制,并在情况1中更新绘图?
背景:我想将此功能用作案例2重新实现/扩展此功能的基础。正如下面的答案所指出的,目前还没有这样的自动化方法。因此,如果您有兴趣了解如何重新缩放y轴,一种方法是重新计算相应的y值,然后使用不可接受答案中指定的方法重新指定y限制。我没有将此标记为重复,因为您的示例中存在某些不同的问题:
- 首先(大一),您只绘制了x值。因此,要在另一个答案中应用该方法,我必须首先获得数组中的y值。这是通过使用
get_ydata()
- 其次,x值从
generator更改为NumPy数组,因为前者不支持索引李>range()
- 第三,我必须使用一个变量,使x-极限与函数一致李>
import matplotlib
matplotlib.use('QT5Agg')
import matplotlib.pyplot as plt
x = range(10)
plt.plot(x,'-o',markersize='10')
plt.tight_layout()
plt.show()
import matplotlib
matplotlib.use('QT5Agg')
import matplotlib.pyplot as plt
x = range(10)
plt.plot(x,'-o',markersize='10')
plt.autoscale(enable=True,axis='y')
plt.xlim(7.5,11)
plt.tight_layout()
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
plt.plot(x,'-o',markersize='10')
x_lims = [7.5, 11]
plt.xlim(x_lims)
ax = plt.gca()
y = ax.lines[0].get_ydata()
def find_nearest(array,value):
idx = (np.abs(array-value)).argmin()
return idx
y_low = y[find_nearest(x, x_lims[0])]
y_high = y[find_nearest(x, x_lims[1])]
ax.set_ylim(y_low, y_high)
plt.tight_layout()
plt.show()