我想使用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
。我不知道我的想法是对的。有人能帮助我吗?
答案 0 :(得分:1)
Matplotlib的绘图命令ax.plot()
需要使用实际数据调用,而不是使用另一个绘图命令创建的轴。 ax.plot(sns.distplot(df[name[i]]))
因此毫无意义。
您可以使用sns.distplot(df[name[i]], ax=ax)
将seaborn distplot绘制为特定的轴ax
。