2016-08-03 11 views
0

Ich zeichne eine Liste von Vektoren als eine Folge von Violin-Plots. Ich würde einen Pandas-Datenrahmen verwenden, aber die Listen sind ungleich lang.seaborn violine plot, wie kann ich etiketten setzen?

Dies funktioniert: python g = sns.violinplot (data=res, cut=0, inner='box')

wo ‚res‘ ist eine Liste von Listen (jeweils ein Vektor des Schwimmer), wobei jeder Vektor sollte in eine Geige gedreht werden. Es ist.

aber die x-Achse ist nur mit "0,1,2 ..." beschriftet. Das Hinzufügen des Parameters 'names = [0,1,2 ...]' wird stillschweigend ignoriert.

Antwort

1

Sie können das .set_xticklabels() Methode:

g = sns.violinplot (data=res, cut=0, inner='box') 
g.set_xticklabels(['a','b','c'...]) 

Beispiel:

import numpy as np, seaborn as sns 

res = [i for i in (np.random.randn(3, 25))] 
ax = sns.violinplot(data=res, cut=0, inner='box') 
ax.set_xticklabels(['a','b','c']) 

Ergebnisse in:

enter image description here

+1

Rufen Sie den Rückgabewert 'ax', nicht' g' , weil 'violinplot' ein' Axes'-Objekt und kein 'Grid'-Objekt zurückgibt. – mwaskom

+0

@mwaskom: Danke aktualisiert. Übrigens, 'Seaborn' ist absolut erstaunlich. – bernie