J'ai un diagramme en barres qui ressemble un peu à ceci :
J'espère réaliser six diagrammes en barres différents (un par "saison", par exemple MAM 16) basés sur les colonnes de mon dataframe dat
.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
labels = {'pod','MAM-16', 'MAM-17', 'JJAS-16', 'JJAS-17', 'OND-15','OND-16'}
rf = [('22','343.7','467.4', '157', '251', '100','142.5'),
('72', '82', '184.4', '143.3', '12.7', '120', '152.4'),
('79', '76.5', '167.4', '118.1', '185.4', '190', '145'),
('86', '993.4', '66.5', '198.9', '14', '78', '84.8'),
('87', '206.2', '178.1', '121.4', '285.2', '89' ,'65'),
('88', '209.3', '280.4', '138.4', '279.9', '84', '141'),
('90' , '134.9', '137.9', '92.7', '224', '111', '133.1'),
('93', '180.8', '113.8', '179.6', '108.2', '184', '211.8'),
('95', '329.7', '176.5', '168.9', '64', '75','103.6'),
('96', '270.5', '158.5', '196.6', '363', '128','152.4'),
('97', '167.9', '103.1', '184.4', '117.1', '132', '104.1'),
dat = pd.DataFrame.from_records(rf, columns=labels); dat
La première colonne de dat
fait référence à un ID différent qui correspond aux barres colorées dans la figure ci-dessus et n'est pas numérique. Le reste des valeurs sont numériques.
Je sais que je peux tracer toutes les valeurs ensemble en utilisant quelque chose comme ceci :
ax = dat.plot(kind='bar',rot=0,lw=2,colormap='jet',figsize=(10,4),
title='Titre d'exemple')
x1 = [0,1,2,3,4,5]
labels = ['MAM 16', 'MAM 17', 'JJAS 16','JJAS 17', 'OND 15','OND 16']
ax1.set_xticks(x1)
ax1.set_xticklabels(labels, minor=False, rotation=45)
ax.set_xticklabels(labels)
plt.show()
Pour obtenir des sous-graphiques, je suppose que je pourrais utiliser une boucle for :
for col in dat:
fig = plt.figure(figsize=(5.0, 6.0))
axes1 = fig.add_subplot(3, 2, 1)
axes2 = fig.add_subplot(3, 2, 2)
axes3 = fig.add_subplot(3, 2, 3)
axes1.set_ylabel('pluie / mm')
axes1.plot(???)
axes2.set_ylabel('pluie totale / mm')
axes2.plot(???)
axes3.set_ylabel('pluie totale / mm')
axes3.plot(???)
fig.tight_layout()
plt.show()
Le résultat devrait être une matrice de sous-graphiques 2x3 où chaque groupe de diagrammes en barres de l'image (fig1) ci-dessus est son propre graphique.