在 FacetGrid 图上的行之间增加 space
Increase space between rows on FacetGrid plot
我有以下代码创建了您可以在图片中看到的情节:
g = sns.FacetGrid(data, col="Provincia",col_wrap=6,size=2.5)
g.map(sns.barplot, "Anio", "Diff");
g.set_axis_labels("Año", "Porcentaje de aumento");
for ax in g.axes.flat:
_ = plt.setp(ax.get_yticklabels(), visible=True)
_ = plt.setp(ax.get_xticklabels(), visible=False)
_ = plt.setp(ax.get_xticklabels()[0], visible=True)
_ = plt.setp(ax.get_xticklabels()[-1], visible=True)
正如您在图片中看到的那样,问题是 x 刻度与下面的列名称一起折叠。增加此 space 以解决此问题的正确方法是什么?
布局紧凑
您可以使用tight_layout
自动调整间距
g.fig.tight_layout()
或者,如果您将 matplotlib.pyplot
导入为 plt
,
plt.tight_layout()
子图调整
您可以使用plt.subplots_adjust
手动设置子图之间的间距,
plt.subplots_adjust(hspace=0.4, wspace=0.4)
其中hspace
是space的高度,wspace
是space的宽度方向。
gridspec 关键字参数
您也可以在 FacetGrid
初始化中使用 gridspec_kws
,
g = sns.FacetGrid(data, ... , gridspec_kws={"wspace":0.4})
但是,只有在 col_wrap
未设置的情况下才能使用。 (因此在问题的特定情况下它可能不是一个选项)。
我有以下代码创建了您可以在图片中看到的情节:
g = sns.FacetGrid(data, col="Provincia",col_wrap=6,size=2.5)
g.map(sns.barplot, "Anio", "Diff");
g.set_axis_labels("Año", "Porcentaje de aumento");
for ax in g.axes.flat:
_ = plt.setp(ax.get_yticklabels(), visible=True)
_ = plt.setp(ax.get_xticklabels(), visible=False)
_ = plt.setp(ax.get_xticklabels()[0], visible=True)
_ = plt.setp(ax.get_xticklabels()[-1], visible=True)
正如您在图片中看到的那样,问题是 x 刻度与下面的列名称一起折叠。增加此 space 以解决此问题的正确方法是什么?
布局紧凑
您可以使用tight_layout
自动调整间距
g.fig.tight_layout()
或者,如果您将 matplotlib.pyplot
导入为 plt
,
plt.tight_layout()
子图调整
您可以使用plt.subplots_adjust
手动设置子图之间的间距,
plt.subplots_adjust(hspace=0.4, wspace=0.4)
其中hspace
是space的高度,wspace
是space的宽度方向。
gridspec 关键字参数
您也可以在 FacetGrid
初始化中使用 gridspec_kws
,
g = sns.FacetGrid(data, ... , gridspec_kws={"wspace":0.4})
但是,只有在 col_wrap
未设置的情况下才能使用。 (因此在问题的特定情况下它可能不是一个选项)。