Тепловая карта морского побережья с использованием логарифмической ошибки: невозможно найти расстояние в пикселях вдоль оси - PullRequest
0 голосов
/ 31 марта 2020

Я получаю сообщение об ошибке при попытке создать тепловую карту с помощью seaborn. Это происходит только в том случае, если я использую логарифмическую шкалу, что мне нужно сделать, иначе график становится в значительной степени неинформативным. Хотя график действительно отображается (и выглядит нормально), цветовая полоса сбоку не отображается, даже если я явно заявляю cbar = True

Полученное сообщение об ошибке:

UserWarning: невозможно найти расстояние в пикселях вдоль оси для интервального заполнения тиков; при условии, что заполнение интервалами не требуется.
warnings.warn («Невозможно найти расстояние в пикселях вдоль оси»

Я полагаю, что это та же проблема, о которой сообщалось здесь ( matplotlib UserWarning Когда ось журнала в некоторых случаях используется ), но без кода не было ответа в этом случае

Минимальный код для воспроизведения ниже. Если я закомментирую строку norm = LogNorm (), то она будет работать нормально.

import numpy as np
import seaborn as sns
from matplotlib.colors import LogNorm

f = np.logspace (-10, -5, num=6)
l = np.logspace (-9, -18, num=10)

alpha_matrix = []
for F in f:
    newrow = [F/L**2 for L in l]
    alpha_matrix.append(newrow)


sns.heatmap(alpha_matrix,
            norm=LogNorm(),
            )

РЕДАКТИРОВАТЬ: я использую Python 3.6, скомпилированный в Spyder 3.2.6

EDIT2: Обновление Seaborn исправил это

...