Python 可根据柱的高度进行调整的可变Y轴

Python 可根据柱的高度进行调整的可变Y轴,python,matplotlib,yaxis,Python,Matplotlib,Yaxis,我正在寻找一个y轴限制的快速代码,当前设置如下 # Set the Y Axis Limits ax.set_ylim(0,100) 我希望根据我们的数据点,将100换成可变/可调y水平,如下所示: import pandas as pd import matplotlib.pyplot as plt s = pd.Series( [8, 24, 21, 23, 24], index = ["Your Plan", "Benchmark", "Region", "Industry", "Si

我正在寻找一个y轴限制的快速代码,当前设置如下

# Set the Y Axis Limits
ax.set_ylim(0,100)
我希望根据我们的数据点,将100换成可变/可调y水平,如下所示:

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series(
[8, 24, 21, 23, 24],
index = ["Your Plan", "Benchmark", "Region", "Industry", "Size"]
)

我想这应该是一个快速解决办法

您必须通过数据系列的最小值和最大值设置y轴限制,这些数据系列是numpy.max和numpy.min的结果:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

s = pd.Series(
[8, 24, 21, 23, 24],
index = ["Your Plan", "Benchmark", "Region", "Industry", "Size"]
)

plt.plot(s.values)
ax = plt.gca()
ax.set_ylim(np.min(s),np.max(s))
plt.show()

如果您删除或不使用ax.set_ylim(0100)行,限制将自动根据数据进行调整

如果要固定轴的一端,但让另一端自动调整,也可以使用

ax.set_ylim(0,None)

如果添加到code
plt.gca().autoscale\u view()
,则可以自动缩放轴。它允许自动调整当前轴限制以适应数据