Как я могу создать тепловую карту с размером ячейки переменной плотности?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу создать тепловую карту с размером ячейки переменной плотности?

Сообщение Anonymous »

Я хотел бы воспроизвести эту тепловую карту, в которой каждая ячейка содержит «не менее 10 источников» (выдержка из оригинальной публикации), так что размер ячейки обратно пропорционален плотности содержащихся в ней источников. Цвет ячейки определяется средним значением некоторой дополнительной переменной z из прилагаемых источников. Рисунок 8 Донли и др., 2012 г.
До сих пор я использовал np.histogram2d для создания аналогичного графика, но с одинаковым размером. Ячейки Это примерно отражает тенденцию, которую я хотел бы подчеркнуть, но мне бы очень хотелось воспроизвести подход с переменным размером ячеек. Я не считаю, что это близко к правильному подходу, поэтому я не уверен. насколько полезным будет мой текущий код, но, пожалуйста, найдите его ниже! Я относительно новичок в программировании и, честно говоря, понятия не имею, как подойти к этой задаче, поэтому буду очень признателен за любые советы! Спасибо за ваше время :) моя попытка: )
вот соответствующий фрагмент моего кода:
x_bin_size = 0.3
y_bin_size = 0.3

x_min, x_max = np.min(x), np.max(x)
y_min, y_max = np.min(y), np.max(y)

num_bins_x = int(np.ceil((x_max - x_min) / x_bin_size))
num_bins_y = int(np.ceil((y_max - y_min) / y_bin_size))

hm, xedge, yedge = np.histogram2d(x, y, bins = [num_bins_x, num_bins_y], weights = z)
counts, _, _ = np.histogram2d(x, y, bins = [num_bins_x, num_bins_y])

avg_heatmap = np.divide(hm, counts, out = np.zeros_like(hm), where = counts != 0)
avg_heatmap_masked = np.ma.masked_where(avg_heatmap == 0, avg_heatmap)

c = ax.pcolormesh(xedge, yedge, avg_heatmap_masked.T, cmap = cmap, shading = 'auto')


Подробнее здесь: https://stackoverflow.com/questions/790 ... -cell-size
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»