Этот код:Морская ошибка? Непоследовательность в Тепловой карте черчения
%matplotlib inline
#import numpy as np; np.random.seed(0)
import matplotlib.pyplot as plt
import seaborn as sns #; sns.set()
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
sns.heatmap(flights, annot=True, linewidths=.2, fmt="d")
#plt.show()
Получит результат выглядит the official result (See/verify it here):
Однако, если я отключить встроенный заговоры и включить plt.show()
результат будет выглядеть следующим образом:
I.e., аннотация отсутствует, за исключением того, что одна ячейка и ориентация ярлыка y неправильны, если встроенный график отключен. Поскольку это единственное изменение, которое я сделал, я думаю, что это ошибка с seaborn
, что она не может обеспечить согласованные результаты.
Можно ли подтвердить это, пожалуйста?
И есть ли какие-либо возможные исправления, пожалуйста?
Update, благодаря Сергею за его обратной связи, вот мои версии все актуальны:
Python: 3.5.0 |Anaconda 2.4.0 (64-bit)| (default, Dec 1 2015, 11:46:22) [MSC v.1900 64 bit (AMD64)]
IPython: 4.0.0
Matplotlib: 1.5.0
Seaborn: 0.6.0
Так что я думаю, что это либо Python3 или Matplotlib: 1,5, что является причиной проблемы. На всякий случай я добавлю тег Python3.
Благодаря
спасибо Пабло. Я использую Windows7, а мой интерактивный бэкэнд - 'QtAgg'. К сожалению, как сообщает kyleabeauchamp, «TkAgg и QT4Agg имеют одно и то же поведение в одной ячейке, что и OSX». Мне тоже не повезло. – xpt
@ xpt Да, вы правы, что «MacOSX» - не единственный бэкэнд, который производит эту ошибку. Я также подтвердил это для 'QtAgg' и' TkAgg' в Linux. Если вы довольны тем, что просто сохраняете PNG/PDF, бэкэнд Agg работает для меня. К сожалению, я не знаю других интерактивных бэкэндов, которые вы могли бы использовать, нам, вероятно, придется подождать, пока ошибка морского судна/matplotlib не будет решена. Я обновляю свой ответ с помощью этой информации. –
Да, это работает. ** Спасибо **, потому что этот 'use (" Agg ")' недокументирован, и я все равно не могу найти. Я добавлю +1 к этому и +1 и приму следующее, когда ошибка морского судна/matplotlib будет решена, и вы обновите свой ответ. – xpt