ValueError при использовании другого массива - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь преобразовать устаревший код, который был передан мне, превратив повторяющуюся часть в функцию.Вот что я пробовал до сих пор:

from mpl_toolkits.axes_grid1 import make_axes_locatable
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors as colors

def graphs(arr, sub, fig):
    image=sub.imshow(arr,origin='low',cmap=cm,norm=colors.SymLogNorm(linthresh=10),vmin=np.min(arr[np.where(arr>0)]),vmax=np.max(arr),extent=[-1,1,-1,1])
    sub.axis([-10,10,-10,10])
    divider = make_axes_locatable(sub)
    fig.colorbar(image, cax=divider.append_axes("right", size="5%", pad=0.05))

cm=plt.cm.jet
cm.set_under('white')

A1, A2, A3, A4=(np.random.rand(204,204),np.random.rand(204,204),np.random.rand(204,204),np.random.rand(204,204))

fig1, (a1,a2,a3,a4) = plt.subplots(ncols=4,figsize=(15,15))
im1=graphs(A1,a1,fig1)
im2=graphs(A2,a2,fig1)
im3=graphs(A3,a3,fig1)
im4=graphs(A4,a4,fig1)

Это работает.Но если я изменю im1=graphs(A1,a1,fig1) на im1=graphs(np.load('T.npy'),a1,fig1), где T.npy - это файл , содержащий массив размером (204,204), то я получу следующую ошибку:

ValueError: cannot convert float NaN to integer

Я не могу найти решение.Я проверил с np.isnan и не получил хитов.Любая помощь очень ценится.

PS: Насколько я могу судить, эта ошибка должна быть воспроизведена с тем, что я предоставил.Однако, если что-то отсутствует, пожалуйста, сообщите мне, чтобы я мог отредактировать сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...