Matplotlib, graphique à barres horizontales (barh) est à l'envers

TL'DR, la barre verticale graphiques sont présentés de manière classique, des choses de la ligne de la gauche vers la droite. Toutefois, lorsqu'il est converti graphique à barres horizontales (à partir de bar à barh), tout est à l'envers. I. e., pour un regroupées diagramme à barres, pas seulement de l'ordre de l'regroupés bar est faux, l'ordre de chaque groupe est de mal que de bien.

Pour, par exemple, le graphe de http://dwheelerau.com/2014/05/28/pandas-data-analysis-new-zealanders-and-their-sheep/

Matplotlib, graphique à barres horizontales (barh) est à l'envers

Si vous regardez de près, vous constaterez que le bar et la légende sont dans l'ordre inverse -- Boeuf montre en haut dans la légende, mais sur le fond dans le graphique.

Le moyen le plus simple démo, j'ai changé kind='bar', à kind='barh',
à partir de ce graphique
https://plot.ly/pandas/bar-charts/#pandas-grouped-bar-chart
et le résultat ressemble à ceci:
https://plot.ly/7/~xpt/

I. e., les barres horizontales regroupées diagramme à barres est commandé à l'envers.

Comment résoudre ce problème?

EDIT: @Ajean, il est en fait pas seulement de l'ordre de l'regroupés bar est faux, l'ordre de chaque groupe est de mal que de bien. Le graphique de Personnalisation Simple de matplotlib/pandas graphique à barres (étiquettes, les tiques, etc.) le montre bien:

Matplotlib, graphique à barres horizontales (barh) est à l'envers

Nous pouvons voir que la commande est non conventionnelles trop, parce que les gens s'attendent à ce que le graphique soit de haut en bas, "AAA", en haut, pas en bas.

Si vous recherchez "Excel à l'envers", vous trouverez beaucoup de gens se plaignent à ce sujet dans Excel tous sur les lieux. Microsoft Excel a une solution pour elle, ne Matplotlib/Panda/Searborn/Ploty/etc a une solution pour elle?

Vous pouvez passer la barre des poignées en plt.legend manuellement, et les commander si vous voulez.
Nan, le problème n'est pas la légende, prendre un coup d'oeil à de la parcelle.ly/7/~xpt, A, B, C, D est dans le bon ordre. C'est le bar qui sont dans le mauvais ordre.
Hmmm .... Je suis ne pense pas que c'est un bug en soi, autant qu'une convention de problème. Les barres sont généralement énumérés dans l'ordre croissant (c'est à dire le premier élément est "0", le deuxième élément est "1", etc.). Et dans le cas sur l'affichage ici c'est le "bottom-up" ("up" signifie "supérieur"), il est logique que la première des bars se trouvent au bas de chaque groupe. Le problème est, je pense, que le convention pour une légende est "top-down" plutôt que de "bottom-up". Si vous voulez vraiment inverse, probablement, la modification de la légende de la convention serait plus facile.

OriginalL'auteur xpt | 2015-12-03