【问题标题】:How Can I merge 9 sns.displot() pictures into 1 picture?如何将 9 张 sns.displot() 图片合并为 1 张图片?
【发布时间】:2017-09-18 02:34:58
【问题描述】:

我想使用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。我不知道我的想法是否正确。有人可以帮我吗?

【问题讨论】:

  • 您可以提供图片的链接,即使是这里的新手。请注意,您应该使用问题的minimal reproducible example 提供清晰的问题描述,而不一定是您的完整数据。这允许其他用户重现您的问题。

标签: python-2.7 matplotlib data-visualization seaborn


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-01-19
    • 2011-11-04
    • 1970-01-01
    • 2022-01-01
    • 2016-03-31
    • 2011-10-31
    • 1970-01-01
    相关资源
    最近更新 更多