【问题标题】:plotting box plot with seaborn with multidimensional data使用 seaborn 绘制带有多维数据的箱线图
【发布时间】:2016-09-20 16:32:01
【问题描述】:

我正在尝试用 seaboard 创建一个箱线图,如下所示:

我有一些合成数据,其中有 24 个不同的类别,生成如下:

import numpy as np
x = np.arange(10, 130, step=5)

现在,对于这些类别中的每一个,我都会生成 5 个随机观察结果,如下所示:

y = np.zeros(shape=(len(y), 5)) # Each row contains 5 observations for a category

现在,我想做的是用 seaboard 做一个箱线图,我在 y 轴(突出显示置信区间)和 x 轴上绘制这 5 个值,我想要这些类别中的每一个。所以,我愿意:

import seaborn as sis
fig = sns.boxplot(x=x, y=y)
fig.plt.show()

但是,数据必须是一维的除外。我不知道如何构造我的数据以便绘制它。

【问题讨论】:

    标签: python matplotlib plot seaborn


    【解决方案1】:

    正如您所指出的,问题在于输入数据的形状。在不尝试对您正在尝试做的事情做出太多假设的情况下,我认为您正在寻找类似的东西

    x = np.arange(10, 130, step=5)
    y = 4 * np.random.randn(x.size, 5) + 3
    
    x_for_boxplot = np.repeat(x, 5)
    y_for_boxplot = y.flatten()
    
    ax = sns.boxplot(x_for_boxplot, y_for_boxplot)
    

    其中x_for_boxploty_for_boxplot 已被重组,因此它们是相同大小的一维数组,这正是sns.boxplot 所寻找的。我还更改了y,使其由随机正常值而不是零组成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-19
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-16
      • 1970-01-01
      • 2021-03-09
      • 2020-12-08
      相关资源
      最近更新 更多