Проблемы с выравниванием с помощью histogram2d и pcolormesh - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь визуализировать гистограмму с цветом как «3-е измерение».

Вот мой код:

    import numpy as np
    import matplotlib.pyplot as plt
    x=[1,2,3,4,5]
    y=[4,4,4,4,4]
    z=[1,2,3,4,5]
    x=np.array(x)
    y=np.array(y)
    z=np.array(z)
    hist, xedges, yedges = np.histogram2d(x, y, weights=z)
    counts, _, _ = np.histogram2d(x, y, bins=(xedges, yedges))

    average = hist/counts

    plt.pcolormesh(average)
    plt.colorbar()

Мой результат

My results

Я не понимаю, почему поля цветов не соответствуют должным образомк массивам x и y?Например, желтое поле должно быть расположено вертикально в 5, а не в 10.

1 Ответ

0 голосов
/ 19 июня 2019

np.histogram2d по умолчанию bins=10.То есть у вас есть 10 корзины в каждом направлении.Таким образом, ваши xedges,yedges имеют длину 11, а hist и count - массив 11x11.Следовательно, pcolormesh показывает изображение 11x11, а верхние значения 10 оси Y соответствуют xedges[-1], что составляет 5.

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