簡體   English   中英

在x軸上繪制索引值並在y軸上繪制每個列值的頻率的直方圖

[英]Plot histogram with index values on x axis and frequencies of each column value on y axis

基於數據框

import pandas as pd
df = pd.DataFrame({'cat1':[100,0,0,5],'cat2':[5,20,50,0]})
df 
    cat1    cat2
0   100 5
1   0   20
2   0   50
3   5   0

我想繪制一個直方圖,以便x軸表示索引值0到3,每個索引值的條形圖顯示列值cat1和cat2的分布。

df.plot.hist(alpha=0.5)

在y上繪制索引值,在x軸上繪制類別值:

在此處輸入圖片說明

df.transpose().plot.hist(alpha=0.5)

結果導致我什至不完全了解:

在此處輸入圖片說明

我真正想要的是每個索引值的條,以說明列中的值-例如,對於索引0,cat1顏色的條應在y軸上延伸到100,包含cat2顏色的另一條條應延伸到5 。

我該如何實現?

您可以使用pandas viz函數:

df.plot.bar(堆疊=真)

試試這個,接近您想要的是:

import matplotlib.pyplot as plt

df.plot.barh()
plt.show()

感謝SpghttCd更新:

import matplotlib.pyplot as plt

df.plot.bar()
plt.show(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM