在matplotlib python中为条形图分组标签

时间:2017-12-22 22:18:38

标签: python validation numpy matplotlib bar-chart

我正在寻找有关python matplotlib库中多条形图的解决方案。我想创建一个脚本,它将采用x值对应于每个月10天的数据集,持续8个月(24次10天,分为每个月的3个部分:1,2和3)和出生率男性和女性。我希望看到的是一个条形图,每个月每十天就有男性和女性出生率。问题是我不知道如何制作双x轴标签:第一行每10天:1,2,3及以下将是月份的名称,就像这样:

| *    @       * males
| *@  *@   @   @ females
| *@  *@  *@ 
-------------- (...)
  1    2   3
     March
直到现在我所得到的是:

import numpy as np
import matplotlib.pyplot as plt


x = np.arange(1,25)

y_males= abs(np.random.normal(100,20,len(x)))
y_females = abs(np.random.normal(50,20,len(x)))


w = 0.3
opacity = 0.8


ax = plt.subplot(111)
ax.bar(x-w,y_males,w,[enter image description here][1]
                 alpha=opacity,
                 color='b', align='center',
                 label='Female')
ax.bar(x,y_females,w,
                 alpha=opacity,
                 color='g',align='center',
                 label='Male')

plt.xticks(x-w/2, ('1', '2' , '3','1', '2' , '3','1', '2' , '3','1', '2' , '3','1', '2' , '3','1', '2' , '3','1', '2' , '3','1', '2' , '3',))
plt.tight_layout()
plt.legend()
ax.autoscale(tight=True)
plt.show()

非常感谢你的帮助! 最好, 的Dawid

0 个答案:

没有答案