2016-10-20 1 views
0

Ich habe versucht, Pointplot in Seaborn zu verwenden und im Allgemeinen tut es, was ich brauche, und ich bin sehr beeindruckt von der Funktionalität.Seaborn PointPlot Kategorie Bestellung Problem

Mein Anwendungsfall ist ziemlich Standard:

sns.pointplot(x="Category_1", y="Parameter", hue="Category 2", data=df); 

Mein Problem ist, dass die Kategorie I für den Farbton verwenden Strings in der Form enthält:

"1 string1", "2 string2", "3 string3", etc.... 

Das ist von Entwurf, so dass ich kann bekomme eine bestimmte Reihenfolge, wenn ich sortiere. Wenn ich jedoch die Seaborn-Funktion ausführe, ist die Reihenfolge anders.

Mit welcher Logik bestellt Seaborn dies, und gibt es eine Möglichkeit, eine gewünschte Reihenfolge zu erzwingen. Wenn ich das tue:

A = df.Category2.unique() 
A.sort() 

Ich bekomme die Liste Reihenfolge, die ich will.

Ben

Antwort

2

Wie in den tutorial, folgen kategorische Plotten Funktionen einer Reihe von Regeln, die Reihenfolge der Handlungselemente zu bestimmen:

  • Wenn eine Folge von Kategorien an die order Parameter übergeben wird, dass Reihenfolge wird verwendet.
  • Wenn die Variable ein Pandas Categorical mit einer zugewiesenen Kategoriereihenfolge ist, wird diese Reihenfolge verwendet.
  • Wenn die Variable numerisch ist, werden die Werte in sortierter Reihenfolge angezeigt
  • Andernfalls werden die Werte in der Reihenfolge angezeigt, in der sie im DataFrame angezeigt werden.
+0

Fall von RTFM. Danke vielmals – BMichell