首页 >后端开发 >Python教程 >为什么seaborn displot会产生意想不到的子情节行为?

为什么seaborn displot会产生意想不到的子情节行为?

Patricia Arquette
Patricia Arquette原创
2024-11-01 03:42:27744浏览

Why does seaborn displot create unexpected subplot behavior?

seaborn displot 未在定义的子图中绘制

当尝试使用 seaborn displot 并排绘制两个 displot 时,可能会出现意外结果。可能会出现两个空的子图,然后是两行上的一个置换图,而不是所需的两个图。这个问题源于seaborn 0.11中seaborn.distplot的弃用。

解决方案:

要解决此问题,请将displot替换为histplot,这是轴级别的绘制直方图的函数。

<code class="python">fig, (ax1, ax2) = plt.subplots(1, 2)

sns.histplot(x=X_train['Age'], hue=y_train, ax=ax1)
sns.histplot(x=X_train['Fare'], hue=y_train, ax=ax2)</code>

说明:

  • 弃用 distplot:seaborn.distplot 已弃用,取而代之的是displot 和 histplot。
  • 图形级别与轴级别图: displot 是图形级别图,不适用于 matplotlib.pyplot.subplots,而 histplot 是轴 -
  • 轴级等效图: 对于缺少 ax 参数的图,请使用等效的轴级图。在这种情况下,histplot 是 displot 的轴级等效项。
  • 子图替代方法:
    有关在 matplotlib 中绘图的其他方法,请参阅如何在多个子图中绘图文档.pyplot.subplots.

通过使用 histplot 而不是 displot,您可以在定义的子图中成功并排绘制两个直方图。

以上是为什么seaborn displot会产生意想不到的子情节行为?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn