Python 为什么可以';在熊猫系列制作的绘图上设置y轴范围?
我正在尝试使用matplotlib和pandas创建一个y轴范围为0%-100%的条形图。我得到的范围只有0%-50%。现在,由于我所有的酒吧都以10%的最高价格出售,这并不是灾难性的。这是令人沮丧的,可能会干扰与其他完整范围图的比较 我使用的代码(大致)如下: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
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))