我需要DataFrame
在同一个窗口中构建多个图。我的一个概括的例子DataFrame
如下:
codigo sexo ciclo
0 1 M 11
1 2 F 5
2 3 M 11
3 2 F 10
4 4 F 8
5 1 F 11
6 0 F 9
7 0 F 2
8 0 F 8
9 0 M 5
多张图是按性别和周期分类的代码的归一化频率。
为了获得归一化频率和图表,首先我DataFrame
为女性创建一个,为男性创建一个,然后使用crosstab
计算归一化频率并独立绘制它。这是女性的代码:
f= df[df['sexo']=='F']
f_normal = pd.crosstab(f.codigo,f.ciclo,normalize='columns')
f_normal.plot( style= 'o', stacked=True)
plt.yscale('log')
plt.ylabel('Probabilidad')
plt.legend(title='ciclo',fontsize='small' )
plt.title('Mujeres')
plt.show()
现在我有了独立的图表,我需要的是女性和男性的图表保持在同一个图表中。我想要的结果是这样的:
我尝试按照以下说明使用子图,但结果为空
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2)
ax1 = f.plot( style= 'o', stacked=True)
ax2 = m.plot( style= 'o', stacked=True)
我正在学习制作图形,感谢您给我的帮助。
您的想法非常好,您只需使用参数将每个图的轴传递给pandas.DataFrame.plot
ax
。一个可重现的示例,包括其余配置: