2014-11-19 25 views

Odpowiedz

8

Możesz użyć poleceń Matplotlib po wywołaniu factorplot. Na przykład:

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.factorplot("class", "survived", "sex", 
        data=titanic, kind="bar", 
        size=6, palette="muted", legend=False) 
g.fig.get_axes()[0].set_yscale('log') 
plt.show() 

enter image description here

+0

nie działa. Próbowałeś? – user124114

+0

to działa dla mnie, edytowałem mój post, aby dodać zdjęcie. Zrobiłem również bardziej ogólny przy użyciu zwróconego 'FacetGrid' – Jules

+3

Działa to dla mnie z' fig' => 'rysunek' – arokem

3

Biorąc pod uwagę swoje pytanie wspomina barplot myślałem, że chciałbym dodać w rozwiązanie tego typu działki również różni się od powyższej factorplot.

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.barplot(x="class", y="survived", hue="sex", 
       data=titanic, palette="muted") 
g.set_yscale('log') 

enter image description here

0

Jeśli stoją problemu znikających pasków na ustawienie skali logarytmicznej przy użyciu dotychczasowych rozwiązań, spróbuj dodać log=True do wywołania funkcji Seaborn zamiast. (Nie mam reputacji, aby komentować inne odpowiedzi).

Korzystanie sns.factorplot:

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.factorplot(x="class", y="survived", hue="sex", kind='bar', 
        data=titanic, palette="muted", log=True) 
g.ax.set_ylim(0.05, 1) 

Korzystanie sns.barplot:

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="whitegrid") 

titanic = sns.load_dataset("titanic") 

g = sns.barplot(x="class", y="survived", hue="sex", 
       data=titanic, palette="muted", log=True) 
g.set_ylim(0.05, 1) 
Powiązane problemy