Python 为什么可以';在熊猫系列制作的绘图上设置y轴范围?

Python 为什么可以';在熊猫系列制作的绘图上设置y轴范围?,python,pandas,matplotlib,Python,Pandas,Matplotlib,我正在尝试使用matplotlib和pandas创建一个y轴范围为0%-100%的条形图。我得到的范围只有0%-50%。现在,由于我所有的酒吧都以10%的最高价格出售,这并不是灾难性的。这是令人沮丧的,可能会干扰与其他完整范围图的比较 我使用的代码(大致)如下: from matplotlib import pyplot as plt import pandas as pd labels = list(cm.index) #Where cm is a DataFrame for curr i

我正在尝试使用matplotlib和pandas创建一个y轴范围为0%-100%的条形图。我得到的范围只有0%-50%。现在,由于我所有的酒吧都以10%的最高价格出售,这并不是灾难性的。这是令人沮丧的,可能会干扰与其他完整范围图的比较

我使用的代码(大致)如下:

from matplotlib import pyplot as plt
import pandas as pd

labels = list(cm.index) #Where cm is a DataFrame

for curr in sorted(labels):
    xa = cm[curr] # Pulls 1 column out of DataFrame to be plotted
    xplt = xa.plot(kind='bar', rot = 0, ylim = (0,1))
    xplt.set_yticklabels(['{:3.0f}%'.format(x*10) for x in range(11)])
    plt.show()
有什么明显的错误或遗漏吗


我得到的一个绘图示例如下:

奇怪的是,当我省略set_yticklabels语句时,我得到了以下结果:


我现在意识到,第一个图形不仅缩放得很奇怪,而且给出的结果也不正确。第二张图中显示的值是正确的。我猜错误在set_yticklabels语句中,但我不知道它可能是什么。

看起来
关键字
ylim
对于
pandas.DataFrame.plot.bar()

给出:


看起来像
关键字
ylim
对于
pandas.DataFrame.plot.bar()

给出:


您是否可以显示任何示例数据框和绘图?您的代码不应该正常工作,因为您在
标签中使用了
索引
值,但
curr
应该是列名而不是索引值。您是否可以显示任何示例数据框和绘图?您的代码不应该正常工作,因为您在中使用了
索引
labels
但是
curr
应该是列名而不是索引值。这到底有用吗?这到底有用吗?
df = pd.DataFrame(np.random.randint(low=0, high=10, size=(10, 2)), columns=['low', 'high'])
df.high = df.high * 10

   low  high
0    3    10
1    2     0
2    7    20
3    3    90
4    7    60
5    0    40
6    1     0
7    3    70
8    1    80
9    6    90

for col in df:
    df[col].plot.bar(ylim=(0, 100))