更改y轴比例-FacetGrid

时间:2020-04-25 09:16:38

标签: python seaborn facet

我不知道如何更改y轴的比例。我的代码是:

grid = sns.catplot(x='Nationality', y='count', 
                   row='Age', col='Gender', 
                   hue='Type',
                   data=dfNorthumbria2, kind='bar', ci='No')

it currently looks like this

我想只增加整数而不是.5

1 个答案:

答案 0 :(得分:0)

更新

我刚刚发现这个tutorial,可能最简单的解决方案是:

grid.set(yticks=list(range(5)))

grid.set的帮助下

Help on method set in module seaborn.axisgrid:
set(**kwargs) method of seaborn.axisgrid.FacetGrid instance
    Set attributes on each subplot Axes.


由于seaborn是基于matplotlib构建的,因此您可以使用plt

中的yticks
import matplotlib.pyplot as plt
plt.yticks(range(5))

但是,这仅改变了我的模型示例中上一行的yticks。
由于这个原因,您可能希望基于ax.set_yticks()的轴更改y刻度。要从grid对象获取轴,可以实现列表理解,如下所示:

[ax[0].set_yticks(range(0,150,5) )for ax in grid.axes]

完整的可复制示例如下(改编自here

import seaborn as sns
import matplotlib.pyplot as plt

sns.set(style="ticks")
exercise = sns.load_dataset("exercise")
grid = sns.catplot(x="time", y="pulse", hue="kind",
                row="diet", data=exercise)
# plt.yticks(range(0,150,5)) # Changed only one y-axis

# Changed y-ticks to steps of 20 
[ax[0].set_yticks(range(0,150,20) )for ax in grid.axes]

enter image description here