Python imshow cmap для двоичных данных

#python #dataframe #matplotlib #imshow

Вопрос:

У меня есть двоичный фрейм данных. Я хочу отобразить и сохранить его в формате PDF с помощью imshow. Я хочу прописать индивидуальный цвет, скажем, Зеленый для Истинного и красный для Ложного. Мой код:

 df = 
       A         B          C         D          E            F
0     True       True       True     True        True        True
1     True       True       True     True        True        True
2     True      False      False     True        True        True
3     True       True       True     True        True        True
4     True       True       True     True        True        True
5    True       True       True     True        True        True
6   False      False       True    False       False       False
7    True       True       True     True        True        True

plt.imshow(df,interpolate='none',cmap='gray')
plt.show()
 

введите описание изображения здесь

Ожидаемый участок:

На приведенном выше графике зеленый означает белый, а красный-черный.

Ответ №1:

cmap = «серый» означает явно использовать градиент белый/черный.

Вы можете создать свою собственную карту

 from matplotlib.colors import ListedColormap
cmp=ListedColormap(['red','green'])
 

затем позвоните по этой карте в imshow

 plt.imshow(df,cmap=cmp)
plt.show()
 

P.S. Здесь вы можете найти все цвета карт, которые вы можете использовать https://matplotlib.org/stable/tutorials/colors/colormaps.html