Как увеличить контраст в 2D гистограмме с помощью matplotlib - PullRequest
2 голосов
/ 09 апреля 2019

Я должен построить 2D гистограммы на нескольких наборах данных.Мне нужно увеличить контраст между точками, так как различия не очень заметны.Snice максимальное значение в каждом наборе данных отличается, я должен найти автоматический способ нормализации и увеличения интенсивности (контраст).

Вот код, который я использую для каждого набора данных:

H2, xedges, yedges, image = plt.hist2d(DF['x'], DF['y'], bins=(500, 500), cmap="hot", cbar = False, xticklabels = False, yticklabels = False, robust = True)

Вероятно, решение заключается в следующем:

1- разделить исторические числа на максимум набора данных

2- Умножить набор данных на коэффициент интенсивности (например, 1000)

3- Изобразите новые данные с помощью seaborn.heatmap ()

Этого можно достичь следующим образом:

D2H, xedges, yedges = np.histogram2d(DF['x'], DF['y'], bins=(500, 500))
sns.heatmap(D2H/(D2H.max())*1000, cmap = "hot", cbar = False, xticklabels = False, yticklabels = False, robust = True)

Считаете ли вы, что это лучший метод?Я с нетерпением жду любого лучшего и более простого решения.Спасибо.

1 Ответ

0 голосов
/ 09 апреля 2019

Умножение на произвольное число изменит преобразование вашего distribution. Я предлагаю вам normalise histogram с использованием vmin / vmax, которое можно найти по следующей ссылке Нормализация .

То есть vmin = D2H.min(), vmax = D2H.max()

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