Предполагается, что этот простой код создает плавную тепловую карту:
X = [[1,2],[3,4],[5,6]]
plt.imshow(X)
plt.show()
но я получил вот эти цветные блоки:
Я тестировал его как в pycharm, так и в jupyter, и все было одинаково. Я использую python 3.5, установил matplotlib с помощью pip. Кто-нибудь, пожалуйста, помогите.
imshow
может создавать тепловые карты с несколькими различными методами интерполяции. По умолчанию это None
, поэтому вы получаете «блоки», которые видите выше. Другой метод, например bilinear
, выполнит плавную интерполяцию. Доступно много других вариантов. См. здесь для хорошего обзора различных методов.
import matplotlib.pyplot as plt
fig, (ax1, ax2) = plt.subplots(ncols=2)
X = [[1,2],[3,4],[5,6]]
ax1.imshow(X, interpolation='None')
ax2.imshow(X, interpolation='bilinear')
ax1.set_title('None')
ax2.set_title('bilinear')
plt.show()