Смежный вопрос
Мои данные поступают в виде (3 × N) массива
[[x_0, ..., x_N-1],
[y_0, ..., y_N-1],
[z_0, ..., z_N-1]]
Я хочу построить их так, чтобы первые двастроки кодируют положение X, Y пикселя, а третья строка устанавливает цвет пикселя.
Однако я не хочу, чтобы выполнялась какая-либо интерполяция.Скорее, пространство покрыто плиткой из-за того факта, что все точки лежат на сетке , причем более низкие деления являются уточнениями исходной сетки.Вот некоторые фиктивные данные
[[4, 12, 24, 4, 12, 20, 28, 8, 18, 22, 28, 17, 19, 22, 17, 19], # X
[4, 4, 8, 12, 12, 20, 20, 24, 26, 26, 28, 29, 29, 30, 31, 31], # Y
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]] # Z (color)
Эти пиксели имеют размер
D = [8, 8, 16, 8, 8, 8, 8, 16, 4, 4, 8, 2, 2, 4, 2, 2]
Здесь показано желаемое положение и пространственный экстент для пикселей, соответствующих фиктивным данным выше.
Теперь я могу интерполировать свои данные, чтобы они соответствовали точным точкам сетки, но это будет неэффективно и не очень элегантно.Некоторые области моей сетки могут быть гораздо более изощренными, чем другие.
Есть ли способ сделать этот тип графика в matplotlib?
РЕДАКТИРОВАТЬ Чтобы уточнить, уточнениепиксель в позиции (x, y) размера (d × d) дает 4 пикселя в позициях (x - d / 4, y - d / 4), (x + d / 4, y - d / 4), (x- d / 4, y + d / 4), (x + d / 4, y + d / 4), каждый из которых имеет размер (d / 2 × d / 2).Позиции всегда относятся к центру пикселя.