Я новичок, поэтому, пожалуйста, потерпите меня. Я делаю график скрипки с пятью скрипками, но по какой-то причине последняя скрипка не рисуется, и я получаю сообщение об ошибке:
/home/leo/anaconda3/lib/python3.6/site-packages/numpy/ma/core.py:4185: UserWarning: Warning: converting a masked element to nan.
Я не понимаю, почему я получаю это сообщение, потому что я не использовал маску ни для одного массива. Так что же это на самом деле означает? Также еще несколько предупреждений, таких как:
Invalid value encountered in percentile
Я предполагаю, что только ST_dist
создает проблемы, и я не знаю почему, потому что я не делаю ничего другого, чем в других списках.
Вот мой код:
import numpy as np
import matplotlib.pyplot as plt
CD_dist=[]
CC_dist=[]
IM_dist=[]
IC_dist=[]
ST_dist=[]
fig,(axes1,axes2) = plt.subplots(nrows=2,ncols=1,figsize=(10,20))
for t in range(0,len(D)):
for la in range(0,len(lat_reg)):
for lo in range(0,len(lon_reg1)):
if(reg_ran[t,la,lo]==1):
CD_dist.append(D[t,indlat,indlon])
elif(reg_ran[t,la,lo]==2):
CC_dist.append(D[t,indlat,indlon])
elif(reg_ran[t,la,lo]==3):
IM_dist.append(D[t,indlat,indlon])
elif(reg_ran[t,la,lo]==4):
IC_dist.append(D[t,indlat,indlon])
elif(reg_ran[t,la,lo]==5):
ST_dist.append(D[t,indlat,indlon])
elif(reg_ran[t,la,lo]==6):
ST_dist.append(D[t,indlat,indlon])
elif(reg_ran[t,la,lo]==7):
ST_dist.append(D[t,indlat,indlon])
elif(reg_ran[t,la,lo]==8):
ST_dist.append(D[t,indlat,indlon])
ST_dist=list(np.array(ST_dist).astype(np.float32))
dist=[CD_dist,CC_dist,IM_dist,IC_dist,ST_dist]
axes1.boxplot(dist)
axes2.violinplot(dist,showmeans=False,showmedians=True)
pfile.savefig()
plt.close()
Я попытался замаскировать массив и удалил замаскированные значения строкой ST_dist=list(np.array(ST_dist).astype(np.float32))
. Но это не работает.
Вот как выглядит сюжет до сих пор.
Кто-нибудь знает, почему ST_dist
не построен?
D
? Вероятно, в этом массиве есть какие-то странные значения. - person Marijn van Vliet   schedule 12.05.2017