factorplot(kind="bar")
を使用しています。
たとえば対数スケールを使用して、y軸をスケーリングするにはどうすればよいですか?
プロットの軸をいじくり回してみましたが、それは常に棒プロットを何らかの方法で台無しにしていたので、まずソリューションを試して、それが本当に機能することを確認してください。
あなたの質問がbarplot
に言及していることを考えると、@ Julesソリューションの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")
factorplot
を呼び出した後、Matplotlibコマンドを使用できます。例えば:
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()
以前のソリューションを使用してログスケールを設定するときにバーが消える問題に直面している場合は、代わりにlog=True
をseaborn関数呼び出しに追加してみてください。 (私は他の答えについてコメントする評判に欠けています)。
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)
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)