У меня есть файл данных с 3 столбцами (xy z1 z2 z3), в котором z имеет значение, соответствующее точке сетки x, y файл данных
Я хотел бы создать matplotlib.pyplot.imshow
из данных, сохраненных в файле с использованием z1 .. Я нашел этот фрагмент кода, который не работает для меня должным образом:
x,y,data1 = np.genfromtxt('cosrevalsjpdf.dat',usecols=(0,1,2),unpack=True,skip_header=0)
xll = x.min(); xul = x.max(); yll = y.min(); yul = y.max()
xi = np.linspace(x.min(), x.max(), 100)
yi = np.linspace(y.min(), y.max(), 100)
zi = scipy.interpolate.griddata((x, y), z, (xi[None,:], yi[:,None]), method='linear')
fig = plt.figure()
plt.imshow(zi, extent=[xll, xul, yll, yul], origin='lower', cmap=cm.hot, alpha=0.9)
plt.show()
Я хотел бы получить двухмерный контурный график, полный цвета, не похожий на используя contourf
с генерацией линии iso .. как я могу это сделать?
используя контур следующим образом:
plt.contourf(xi,yi,zi,cmap=cm.hot, levels=20)
Я получаю это ... это неплохо, но я бы хотел полностью заполнить черным белую область, как я могу это сделать?