gpt4 book ai didi

python - 箱线图屏蔽数组

转载 作者:太空狗 更新时间:2023-10-30 01:03:41 24 4
gpt4 key购买 nike

我如何才能仅绘制 MaskedArray 的非屏蔽值?我认为这会由 boxplot(ma) 自动发生,但这似乎是对非掩码数组进行箱线图绘制。

最佳答案

我认为你是对的——plt.boxplot 如果发送一个掩码数组则忽略掩码。所以看起来你必须通过只发送未屏蔽的值来给 boxplot 一些额外的帮助。由于数组的每一行可能具有不同数量的未屏蔽值,因此您将无法使用 numpy 数组。您必须形成一个 Python 向量序列:

z = [[y for y in row if y] for row in x.T]

例如:

import matplotlib.pyplot as plt
import numpy as np

fig=plt.figure()

N=20
M=10

x = np.random.random((M,N))
mask=np.random.random_integers(0,1,N*M).reshape((M,N))
x = np.ma.array(x,mask=mask)
ax1=fig.add_subplot(2,1,1)
ax1.boxplot(x)

z = [[y for y in row if y] for row in x.T]
ax2=fig.add_subplot(2,1,2)
ax2.boxplot(z)
plt.show()

enter image description here

上面,第一个子图显示了 x 中所有数据的箱线图(忽略掩码),第二个子图显示了仅那些未被掩码的值的箱线图。

关于python - 箱线图屏蔽数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6029912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com