为什么 Seaborn Displot 不能与 Matplotlib 子图一起使用?

Barbara Streisand
发布: 2024-10-29 06:33:30
原创
931 人浏览过

Why Doesn't Seaborn Displot Work with Matplotlib Subplots?

错误:seaborn Displot 未在子图中绘图

与 matplotlib 一起使用时,Seaborn displot 无法按预期生成并排图。 pyplot.子图。出现此错误的原因是 displot 是图形级函数,缺少子图所需的 'ax' 参数。

解决方案:

解决问题并显示两个图在同一行上,有必要使用支持“ax”参数的适当轴级图。在这种情况下,histplot 是首选。这是更正后的代码:

<code class="python">import seaborn as sns
import matplotlib.pyplot as plt

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>
登录后复制

替代方法:

如果您更喜欢使用 displot,您可以使用 pd.melt 将数据重组为长格式,并将 displot 应用于转换后的数据框。

<code class="python">dfl = X_train.melt(id_vars='passenger', value_vars=['Age', 'Fare'], var_name='category', value_name='value')

sns.displot(data=dfl, x='value', col='category', hue='passenger')</code>
登录后复制

其他注意事项:

对于具有多个数据框的轴级图,使用 pd.concat 将它们组合起来并分配一个唯一的“源”列用于识别每个数据点的来源。此列可用于 row=、col= 或 Hue=。

以上是为什么 Seaborn Displot 不能与 Matplotlib 子图一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板