2016-08-06 27 views
5

In der Abbildung unten, alle meine x-labels sind überlappend.Entfernen Sie einige x Etiketten mit Seaborn

g = sns.factorplot(x='Age', y='PassengerId', hue='Survived', col='Sex', kind='strip', data=train); 

Ich weiß, dass ich alle Etiketten g.set(xticks=[]) durch den Aufruf entfernen kann, aber ist es eine Möglichkeit, einige der Age-Etiketten nur um zu zeigen, wie 0, 20, 40, 60, 80?

enter image description here

Antwort

9

Ich bin nicht sicher, warum es nicht sinnvoll, Standard Zecken und Werte sind wie es auf der y-Achse ist. Auf jeden Fall können Sie so etwas wie folgendes tun:

import seaborn as sns 
import matplotlib.pyplot as plt 
import matplotlib.ticker as ticker 

titanic = sns.load_dataset('titanic') 
sns.factorplot(x='age',y='fare',hue='survived',col='sex',data=titanic,kind='strip') 
ax = plt.gca() 
ax.xaxis.set_major_formatter(ticker.FormatStrFormatter('%d')) 
ax.xaxis.set_major_locator(ticker.MultipleLocator(base=20)) 
plt.show() 

Ergebnis:

enter image description here