Python 尽管有数千个不同的数据点,plt.boxplot仍显示为空白

Python 尽管有数千个不同的数据点,plt.boxplot仍显示为空白,python,matplotlib,boxplot,Python,Matplotlib,Boxplot,我有一个长度约为7000的numpy 1D阵列。 以下是一个片段: 2. 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 1.4 1.4 1.4 1.4 1.4 1

我有一个长度约为7000的numpy 1D阵列。 以下是一个片段: 2. 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9

当我绘制箱线图时,它是空白的。当我将它更改为一个图形时,它会适当地进行图形化,但是为了使我的其余代码正常工作,我需要使用pylab或pyplot对其进行图形化

这是我的密码:

plt.图(1)
plt.箱线图(阵列)
plt.savefig('test.png')

下面是它的外观:

如果我使用plt.plot(数组)绘制它 我得到:

谢谢

以下代码

import numpy as np
import matplotlib.pyplot as plt

array = np.array([.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9])

plt.figure(1)
plt.boxplot(array)
plt.show()
生成此图像:


我也有同样的问题,这是由数据中的NAN引起的。检查是否已删除所有空值

我也犯了同样的错误。第一步是检查是否有任何NaN值。一个快速的方法是运行:

import numpy as np
if np.isnan(your_array).any():
  print("There are NaN values, I need to remove")

一旦检查了NaN值,您可能会发现仍然看到空白图。我发现一种绕过这一点的方法是直接在轴上绘图。您可以使用以下方法完成此操作:

fig1, ax1 = plt.subplots()
ax1.set_title('Basic Plot')
ax1.boxplot(your_array)
plt.show()

是的,我的其余部分都是这样工作的,但这不是。我想看看是否有其他人也经历过同样的问题。为了确保我的数组是正确的,我在执行箱线图之前直接导出到一个txt文件。如上所述。。。但是bp仍然没有显示UPPLESE make,即在生成此输出的代码中给出一个实际数组。