簡體   English   中英

並排繪制條形圖

[英]Plotting bar charts side by side

我可以並排繪制這兩個側面條形圖嗎

import pandas as pd

a=[('Female','0'),
('Female','0'),
('Female','0'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Male','0'),
('Male','0'),
('Male','0'),
('Male','0'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1')]

df=pd.DataFrame(a,columns=['Gender','Placement_B'])

gender=pd.crosstab(df['Gender'], df['Placement_B'])

g_norm=pd.crosstab(df['Gender'], df['Placement_B'],margins=True, normalize='index')

gender.plot.bar(stacked=True)

g_norm.plot.bar(stacked=True)

此問題未指定您使用的軟件包。 如果使用DataMelt程序 ,則可以使用HPlot畫布並排繪制條形圖或直方圖,並導航usibf cd()方法。 這是幾個DataMelt示例,它們並排顯示直方圖 如果您不喜歡直方圖表示,請使用HChart類, 如下所示

我知道您在繪制交叉表數據時遇到問題。 這是一種繪制方法。

import matplotlib.pyplot as plt

df=pd.DataFrame(a,columns=['Gender','Placement_B'])
gender=pd.crosstab(df['Gender'], df['Placement_B'])
g_norm=pd.crosstab(df['Gender'], df['Placement_B'],margins=True, normalize='index')

fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.bar(gender.index.values, gender.iloc[:, 1])
ax1.bar(gender.index.values, gender.iloc[:, 0])
ax2.bar(g_norm.index.values, g_norm.iloc[:, 1])
ax2.bar(g_norm.index.values, g_norm.iloc[:, 0])

# Probably the way that is more relevant for this case

fig, (ax1, ax2) = plt.subplots(1, 2)
gender.iloc[:].plot.bar(stacked=True, ax=ax1)
g_norm.iloc[:].plot.bar(stacked=True, ax=ax2)

暫無
暫無

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

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