Как добавить цветную легенду цвета в matplotlib? [Дубликат]

Если речь идет о числах, которые являются либо одной, либо двумя цифрами:

'0'+str(number)[-2:] или '0{0}'.format(number)[-2:]

2
задан Han Zhengzu 9 June 2016 в 13:28
поделиться

1 ответ

Возможно, самый простой способ - создать соответствующее количество экземпляров Patch:

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np

data  = np.random.randint(8, size=(100,100))
cmap = plt.cm.get_cmap('PiYG', 8) 
plt.pcolormesh(data,cmap = cmap,alpha = 0.75)
# Set borders in the interval [0, 1]
bound = np.linspace(0, 1, 9)
# Preparing borders for the legend
bound_prep = np.round(bound * 7, 2)
# Creating 8 Patch instances
plt.legend([mpatches.Patch(color=cmap(b)) for b in bound[:-1]],
           ['{} - {}'.format(bound_prep[i], bound_prep[i+1] - 0.01) for i in range(8)])

3
ответ дан Vadim Shkaberda 25 August 2018 в 18:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: