2016-04-26 16 views
5

Ben Facetgrid ile ilgili bir sorun yaşıyorum FacetGrid: Ben tonu parametresini kullandığınızda, X-etiket yanlış sırada göstermek ve verileri uyuşmuyor. Hue ileTon parametresi

%matplotlib inline 
import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn as sns 

titanic = sns.load_dataset("titanic") 
g = sns.FacetGrid(titanic, col='pclass', hue='survived') 
g = g.map(sns.swarmplot, 'sex', 'age') 

Facetgrid: ipython Titanik veri kümesini yükleniyor o erkeklerden daha dişi olduğunu görünüyor Bundan Facetgrid with Hue

, ancak bu doğru değildir. Şimdi tonu seçeneği kaldırırsanız

, o zaman ben doğru bir dağılım elde: Tüm pclasses genelinde kadınlara göre daha erkekler vardı. Hue olmadan

g = sns.FacetGrid(titanic, col='pclass') 
g = g.map(sns.swarmplot, 'sex', 'age') 

Facetgrid

: Facetgrid without Hue

Burada neler oluyor? Eğer kategorik çizim işlevlerinden biri ile FacetGrid kullanacağız ben Seaborn 0.7.0

cevap

3

kullanıyorum, sen ya kategorik olarak veya order ve hue_order parametrelerle değişkenleri bildirerek sipariş bilgilerini sağlamanız gerekmektedir:

g = sns.FacetGrid(titanic, col='pclass', hue='survived') 
g = g.map(sns.swarmplot, 'sex', 'age', order=["male", "female"], hue_order=[0, 1]) 

enter image description here

Ancak, sizin için bu defter tutma ilgilenir ve aynı zamanda bazı yazmaktan kurtarır, hangi factorplot kullanmak genellikle tercih edilir:

g = sns.factorplot("sex", "age", "survived", col="pclass", data=titanic, kind="swarm") 

enter image description here

+0

Büyük, bu kadar açık hale getirir. Teşekkürler – PeerEZ