У меня есть данные, которые я пытаюсь преобразовать в данные контурного графика.Я понимаю, что это можно сделать с помощью matplotlib, но я пытаюсь сделать это просто с помощью numpy, если это возможно.
Итак, скажем, у меня есть массив чисел 1-10, и я хочу разделить массив в соответствии сконтурить "уровни".Я хочу превратить входной массив в массив логических массивов, каждый из которых имеет размер ввода, с 1 / True для любой точки данных на этом уровне контура и 0 / False везде.
Например, предположим, что входные данные:
[1.2,2.3,3.4,2.5]
И уровни [1,2,3,4],
, тогда возвращаемое значение должно быть:
[[1,0,0,0],[0,1,0,1],[0,0,1,0]]
Итак, вот начало примера, который я набрал: import numpy as np
a = np.random.rand(3,3)*10
print(a)
b = np.zeros(54).reshape((6,3,3))
levs = np.arange(6)
#This is as far as I've gotten:
bins = np.digitize(a, levs)
print(bins)
Я могу использовать np.digitize, чтобы выяснить, какому уровню должно принадлежать каждое значение в a, но это далекокак я получаю.Я довольно новичок в numpy, и это действительно заставляет меня чесать голову.Любая помощь будет принята с благодарностью, спасибо.