[PYTHON] Bar plot empilable avec matplotlib

Un mémo lors du traçage de la composition de la séquence d'acides aminés (dimension 20xN). La création d'un graphique empilé est assez simple. Vous pouvez spécifier bottom = hoge dans bar. Cependant, quand il y avait beaucoup de choses à venir, il était assez difficile d'ajuster l'emplacement de la légende. Ajustez la largeur du tracé avec get_position et set_position → Lorsque vous utilisez legend, ajustez la position avec bbox_to_anchor.

référence: http://geetduggal.wordpress.com/2011/08/22/grabbing-individual-colors-from-color-maps-in-matplotlib/ http://stackoverflow.com/questions/4700614/how-to-put-the-legend-out-of-the-plot http://matplotlib.org/users/legend_guide.html#plotting-guide-legend

plot_test.py


amino_count = ... # something;Ici 20x23 dimensions np.array
accent = get_cmap('accent')  #Obtenez une palette de couleurs
figsize(10, 8)     #Avec la taille de la figure
rcParams['font.size'] = 14     #Rendre les lettres un peu plus grandes
total = zeros(23)  #Enregistrer la somme pour l'empilement
ax = subplot(111)
for i in xrange(20):    #Pour chacun des 20 acides aminés
    c = accent(i / 20.0)    #colormap renvoie la valeur RGBA correspondante si vous entrez une valeur comprise entre 0 et 1.
    if i == 0:
        ax.bar(arange(23), amino_count[i], color=c, label=aa[i])
    else:
        ax.bar(arange(23), amino_count[i], color=c, bottom=total, label=aa[i])
        #Vous pouvez définir la limite inférieure de la barre en spécifiant le bas.
    total += tmd_count[i]

box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.80, box.height])
#Définissez la largeur du tracé sur 80%.
h,l = ax.get_legend_handles_labels()
ax.legend(h[::-1], l[::-1], bbox_to_anchor=(1.25, 1.05))
# get_legend_handles_labels()Pour obtenir la poignée et l'étiquette de la légende.
#En utilisant cela, la légende est affichée dans l'ordre inverse.
#Aussi bbox_to_La position de la légende est ajustée à l'aide de l'ancre.
xlabel('Position from the N-terminal side of TMD', fontsize=16)
ylabel('Count', fontsize=16)

Recommended Posts

Bar plot empilable avec matplotlib
Graphique 2 axes avec Matplotlib
Graphique 3D avec matplotlib
Créer une animation de tracé avec Python + Matplotlib
Couleur en continu avec le diagramme de dispersion matplotlib
Effectuer un tracé de probabilité normale logarithmique avec Python, matplotlib
Animation avec matplotlib
Japonais avec matplotlib
Animation avec matplotlib
histogramme avec matplotlib
Faire une animation avec matplotlib
Tracer la courbe ROC pour la classification binaire avec Matplotlib
Créer un diagramme de dispersion 3D avec SciPy + matplotlib (Python)
Carte thermique par Python + matplotlib
Graphique de bande avec matplotlib
Graphique 2D dans matplotlib
Apprenez avec Chemo Informatics Matplotlib
Dessin en temps réel avec matplotlib
Différentes barres de couleurs avec Matplotlib
Diagramme de séries chronologiques / Matplotlib
Ajustez les axes avec matplotlib
Comment ajouter une barre de couleur dans le graphique à barres de matplotlib
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
Diagramme de bougie avec tracé
Graphique des données Excel avec matplotlib (1)
Essayez d'utiliser matplotlib avec PyCharm
Méthode de dessin graphique avec matplotlib
Reformatez l'axe des temps du graphique de la série chronologique des pandas avec matplotlib
Graphique des données Excel avec matplotlib (2)
Nuage de points 3D avec PyQtGraph
Sélectionnez les couleurs en dégradé avec matplotlib
Animer plusieurs graphiques avec matplotlib
Manuel de graphisme Python avec Matplotlib.
Affichage des inférences et des résultats avec Tensorflow + matplotlib
Japaneseize Matplotlib avec Alpine en utilisant Docker
Dessinez le japonais avec matplotlib sur Ubuntu
Dessinez un graphique lâche avec matplotlib
Traçage de données polyvalent avec pandas + matplotlib
Heatmap avec dendrogramme en Python + matplotlib
Réglage facile de la police japonaise avec matplotlib
Dessinez facilement des graphiques avec matplotlib
Cas utilisant un tracé de pandas, cas utilisant un tracé matplotlib (pur)
Dessinez Riapnov Fractal avec Python, matplotlib
Quand matplotlib ne fonctionne pas avec python2.7
Animation facile avec matplotlib (mp4, gif)
Écrire un histogramme empilé avec matplotlib
Implémentez "Data Visualization Design # 2" avec matplotlib
Tracez des graphiques en noir et blanc adaptés aux papiers avec matplotlib ou pylab
Comment dessiner un graphique à barres qui résume plusieurs séries avec matplotlib
Tracer CSV de données de séries temporelles avec une valeur unixtime en Python (matplotlib)
Tracez plusieurs cartes et données en même temps avec matplotlib de Python