我一直在嘗試制作一些性別數據的箱線圖,將其分為兩個獨立的數據框,一個用于男性,一個用于女性。我設法使圖表基本上按照我想要的方式制作,但現在我想讓它看起來更好。我想讓它看起來像一個seaborn圖表,但我無法找到一種使用seaborn庫來實現這一點的方法。我嘗試了一些為 pandas boxpplot 著色的想法,但沒有任何效果。有沒有辦法給這些圖表著色?或者有沒有辦法用seaborn制作這些并排的箱線圖?dados_generos = dados_sem_zeros[["NU_NOTA_CN","NU_NOTA_CH","NU_NOTA_MT","NU_NOTA_LC","NU_NOTA_REDACAO", "TP_SEXO"]]sexo_f = dados_generos[dados_generos["TP_SEXO"].str.contains("F")]sexo_m = dados_generos[dados_generos["TP_SEXO"].str.contains("M")]labels = ["CN", "CH", "MT", "LC", "REDA??O"] fig, (ax, ax2) = plt.subplots(figsize = (10,7), ncols=2, sharey=True)#Setting axis titlesax.set_xlabel('Provas')ax2.set_xlabel('Provas')ax.set_ylabel('Notas')#Making plotschart1 = sexo_f[provas].boxplot(ax=ax)chart2 = sexo_m[provas].boxplot(ax=ax2)#Setting axis labelschart1.set_xticklabels(labels,rotation=45)chart2.set_xticklabels(labels,rotation=45)plt.show()這是我得到的結果:這是我正在使用的數據的鏈接: https://github.com/KarolDuarte/dados_generos/blob/main/dados_generos.csv
1 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
由于sns最適合長格式數據,讓我們嘗試融合數據并使用sns.
# melting the data
plot_data = df.melt('TP_SEXO')
fig, axes = plt.subplots(figsize = (10,7), ncols=2, sharey=True)
for ax, (gender, data) in zip(axes, plot_data.groupby('TP_SEXO')) :
sns.boxplot(x='variable',y='value',data=data, ax=ax)
輸出:
添加回答
舉報
0/150
提交
取消