如何将9张sns.displot()张图片合并为一张图片?

How Can I merge 9 sns.displot() pictures into 1 picture?

我想使用 sns.displot() 绘制 9 个特征的分布。而我想将这9张图片合并为1张图片,以便清晰显示。我尝试使用

name = ['active_users','download','hot_songs','like','pre_plays','rate','sum_initial',
        'w_rate','week_mean']
for i in range(9):
    ax = plt.subplot(3,3,i+1)
    plt.axis('on')
    ax.set_title(name[i])
    ax.plot(sns.distplot(df[name[i]]))

在此代码中,name 是列的名称,也是我要显示的功能。我会得到这个错误 TypeError: float() argument must be a string or a number。我不知道我的想法对不对。有人可以帮助我吗?

Matplotlib 的绘图命令 ax.plot() 需要用实际数据调用,而不是用另一个绘图命令创建的轴。 ax.plot(sns.distplot(df[name[i]])) 因此没有意义。

您可以使用 sns.distplot(df[name[i]], ax=ax) 将 seaborn 分布图绘制到指定轴 ax