0

我有一些数据要进行箱线图。异常值(例如 20、30)离大多数值(例如 0.0002、0.0003)太远,因此我只能在使用 matplotlib 绘图时看到异常值。

无论如何放大中位数周围的值,然后让 y 轴的其余部分不按比例显示异常值吗?

编辑这是我在 python 中的代码。我想为我拥有的每个箱形图使用插入轴,如下所示。我怎样才能以简单的方式做到这一点?文档中的示例似乎有太多参数需要处理。

plt.figure()
        ax = plt.subplot(111)
        plt.boxplot(dataToPlot)
        axins = zoomed_inset_axes(ax, 6, loc=1) # zoom = 6
# what follows is taken from example linked in the answer below. 
# I didn't get if the first argument is indeed the data this zoomed image refers to or not. 
        axins.imshow(dataToPlot[1], interpolation="nearest", origin="lower")
# here I only need the y-axis to be in [0,0.1], x-axis is no of use with vertical boxplots
        x1, x2, y1, y2 = -1.5, -0.9, 0.0, 0.1
        axins.set_xlim(x1, x2)
        axins.set_ylim(y1, y2)
        plt.xticks(visible=True)
        plt.yticks(visible=True)
        plt.savefig( 'somewhere.jpeg', bbox_inches=0)
4

2 回答 2

1

您可以按照本页所述进行插入轴,大约向下 1/2。

插入轴

于 2012-08-22T16:48:15.313 回答
1

非常老的问题,但我遇到了这个寻找类似的东西。我通过添加 sym='' 解决了这个问题(这个选项在 7 年前可能不存在!)它告诉 boxplot 不要显示传单(任何超出胡须的东西)。

因此,对于遇到此问题的其他任何人,您可以尝试将问题中的第 3 行更改为:

plt.boxplot(dataToPlot, sym='')
于 2019-09-15T22:51:48.833 回答