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

时间:2017-04-21 07:43:53

标签: python-2.7 matplotlib data-visualization seaborn

我想使用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。我不知道我的想法是对的。有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

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

您可以使用sns.distplot(df[name[i]], ax=ax)将seaborn distplot绘制为特定的轴ax