2017-04-21 198 views
0

我想用sns.displot()来绘制9个特征的分布。我想将这9张图片合并为一张图片以清晰地显示出来。我试图用如何将9张sns.displot()图片合并为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。我不知道我的想法是否正确。有人能帮我吗?

+0

你可以提供一个图片的链接,甚至在这里是新的。请注意,您应该使用问题的[mcve]提供明确的问题描述,而不一定是您的完整数据。这可以让其他用户重现您的问题。 – ImportanceOfBeingErnest

回答

1

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

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

相关问题