我尝试使用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语句中,但我不知道它可能是什么。
答案 0 :(得分:4)