gpt4 book ai didi

matplotlib - 增加 FacetGrid 图上的行之间的空间

转载 作者:行者123 更新时间:2023-12-04 00:47:36 26 4
gpt4 key购买 nike

我有以下代码可以创建您可以在图片中看到的情节:

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 刻度与下面的 col 名称折叠在一起。为了解决这个问题,增加这个空间的正确方法是什么?

output

最佳答案

布局紧凑

您可以使用 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为空间高度, wspace为空间宽度方向。

gridspec 关键字参数

您也可以在 gridspec_kws 初始化中使用 FacetGrid
g = sns.FacetGrid(data, ... , gridspec_kws={"wspace":0.4})

但是,这只能在未设置 col_wrap 时使用。 (因此,在问题的特定情况下,这可能不是一个选项)。

关于matplotlib - 增加 FacetGrid 图上的行之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43669229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com