我正在嘗試使用matplotlib和pandas創建一個y軸範圍從0%到100%的條形圖。我得到的範圍只有0% - 50%。現在,因爲我所有的酒吧都在10%左右,所以這不是災難性的。這只是令人沮喪,可能會干擾比較其他完整範圍的地塊。爲什麼我不能在熊貓系列產生的圖上設置y軸範圍?
我正在使用的代碼(大致)如下:
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聲明中,但我不知道它會是什麼。
你能不能表現出任何例子數據幀和情節? –
您的代碼不應該正常工作,因爲您在'labels'中使用'index'值,但'curr'應該是列名稱而不是索引值。 –