matplotlib chart - création d'un graphique à barres horizontales
J'ai trébuché à travers le fragment de code suivant, pour la création graphique à barres horizontales à l'aide de matplotlib:
import matplotlib
from pylab import *
val = 3+10*rand(5) # the bar lengths
pos = arange(5)+.5 # the bar centers on the y axis
print pos
figure(1)
barh(pos,val, align='center')
yticks(pos, ('Tom', 'Dick', 'Harry', 'Slim', 'Jim'))
xlabel('Performance')
title('horizontal bar chart using matplotlib')
grid(True)
show()
Je veux modifier le script ci-dessus comme suit:
- Faire le tracé des barres à moins chunky' (c'est à dire de réduire la hauteur de la tracées horiz bars)
- Intrigue à la fois négatif et positif numéros des barres horizontales sur la même parcelle
toute aide (extrait de code ou des liens) pour m'aider à faire les modifications ci-dessus serait très utile.
en aparté, si je voulais faire empilées les barres horizontales (dire chaque étiquette a 3 barres horizontales empilées), comment pourrais-je modifier le code ci-dessus pour faire de la parcelle de 3 barres horizontales empilées intrigue?
[[Edit]]
Quelqu'un pourrait-il poster deux court extrait de code qui montre comment:
- D'imprimer des étiquettes sur le côté opposé de l'barres horizontales (de sorte que, par exemple, l'étiquette de "négatif" barres apparaît dans le 1er quarant, et les étiquettes de "positive" des barres s'affiche dans la 2ème quadrant
- Parcelle multiples (disons 2 ou 3) des barres horizontales (au lieu d'un seul). De bons exemples sont les les deux premières images montrées ici
source d'informationauteur Homunculus Reticulli
Vous devez vous connecter pour publier un commentaire.
En général, je vous suggère de ne pas utiliser
from pyplot import *
. Sauf si vous êtes dans le mode interactif, l'utilisation de l'approche orientée objet:Un bon point de départ pour toutes sortes d'intrigues est le
matplotlib
galerieComme dit par Zhenya, vous devrez ajustez votre parcelle de terrain.
Comme un exemple, voici une fonction qui produit un personnaliser la barre horizontale de la parcelle:
Par défaut, il tracera le nom des catégories (les gens) à la droite, mais vous pouvez bien évidemment changer.
qui produit:
Les codes suivants extrait de code est un exemple de l'utilisation de la fonction de texte à annoter le texte de l'étiquette sur le côté gauche pour les valeurs négatives et le côté droit pour les valeurs positives, comme mentionné par les deux gcalmettes et Zhenya.
Il fonctionne sur la base que toutes les barres pour une personne donnée, doivent être négatif ou positif pour le texte annoté sur le bon côté. Pour changer ce comportement, il suffit de changer la génération de side_list.
E. g Si vous voulez une barre de seuil pour déterminer la position de l'étiquette, puis de compter les valeurs de données qui dépasse ce seuil, au lieu d'additionner les valeurs pour un nom donné.
E. g Pour le seuil de 3 barres de nombreux, toutefois, pour la boucle devient
La génération de side_list aurez aussi besoin d'être changé pour adapter à la gamme de vos données, comme les exemples l'utilisation des données aléatoires dans une plage spécifiée.
E. g Vous aurez besoin d'ajuster le label des décalages de
side_list.append(16)
etside_list.append(-21)
pour répondre à vos données.