Размер сетки matplotlib hexbin постоянно меняется

Я пытаюсь использовать функцию рисования hexbin в matplotlib для программного построения графиков ошибок регрессии нескольких нейронных сетей, которые я обучаю.

Я установил для параметра gridsize определенное значение, 100, для направлений x и y. Однако на сохраняемых участках размер сетки, кажется, продолжает меняться, что очень расстраивает. Ниже представлены две разные цифры, полученные с использованием одной и той же функции, без изменений, с интервалом в 3 минуты. Данные, которые использовались для создания функций, точно такого же размера и формы. Я немного не понимаю, что делаю неправильно в данный момент.

На рисунке 1 примерно так должна выглядеть шестнадцатеричная сетка: this is roughly how I want the hexgrid to look

На рисунке 2 размеры шестигранника слишком малы. hex sizes are much too small in this one

def plot_errors_hex(x, y, net_dir):
    """Uses pyplot's hexbin to plot errors using a jet colormap."""
    plt.figure(1)
    plt.hexbin(x + 512/2, y + 512/2, gridsize=(100,100))
    plt.plot(256, 256, 'ro')

    plt.ylim(0, 512)
    plt.xlim(0, 512)
    plt.colorbar()

    f1 = plt.gcf()
    f1.set_size_inches(5, 4)
    plt.savefig(os.path.join(net_dir, 'error_plot_hex.png'))
    plt.clf()

Вы пробовали использовать сетку меньшего размера, например gridsize=(70,70)) или (80, 80)?

Sheldore 13.09.2018 20:42

Помогает ли установка пределов оси с помощью ключевого слова extent в plt.hexbin вместо использования plt.xlim и plt.ylim? Как в plt.hexbin(x, y, gridsize = (100,100), extent=[0, 512, 0, 512])

jdamp 13.09.2018 20:54

Ни одно из этих изменений не работает.

ohmstead 14.09.2018 23:55
0
3
296
0

Другие вопросы по теме