【发布时间】:2022-01-16 23:56:10
【问题描述】:
我正在使用 matplotlib 绘制一个方框图,但有一些缺失值 (NaN)。然后我发现它没有在具有 NaN 值的列中显示方框图。 你知道如何解决这个问题吗? 这是代码。
import numpy as np
import matplotlib.pyplot as plt
#==============================================================================
# open data
#==============================================================================
filename='C:\\Users\\liren\\OneDrive\\Data\\DATA in the first field-final\\ks.csv'
AllData=np.genfromtxt(filename,delimiter=";",skip_header=0,dtype='str')
TreatmentCode = AllData[1:,0]
RepCode = AllData[1:,1]
KsData= AllData[1:,2:].astype('float')
DepthHeader = AllData[0,2:].astype('float')
TreatmentUnique = np.unique(TreatmentCode)[[3,1,4,2,8,6,9,7,0,5,10],]
nT = TreatmentUnique.size#nT=number of treatments
#nD=number of deepth;nR=numbers of replications;nT=number of treatments;iT=iterms of treatments
nD = 5
nR = 6
KsData_3D = np.zeros((nT,nD,nR))
for iT in range(nT):
Treatment = TreatmentUnique[iT]
TreatmentFilter = TreatmentCode == Treatment
KsData_Filtered = KsData[TreatmentFilter,:]
KsData_3D[iT,:,:] = KsData_Filtered.transpose()iD = 4
fig=plt.figure()
ax = fig.add_subplot(111)
plt.boxplot(KsData_3D[:,iD,:].transpose())
ax.set_xticks(range(1,nT+1))
ax.set_xticklabels(TreatmentUnique)
ax.set_title(DepthHeader[iD])
这是最终的数字,有些治疗方法缺少方框。
【问题讨论】:
-
替换NaN值或过滤掉没有Nan的数据
-
@ERIC 请使用tour,阅读How to Ask 和minimal reproducible example。然后更新您的问题以提供所需的详细信息,以便有人可以帮助您。
-
嗯,这不是真正的minimal reproducible example,但至少它显示了问题。下次,请在代码中编造一些任意数据,使示例完整且可验证。
标签: python matplotlib boxplot