Как привязать цветовую карту к массиву? - PullRequest
0 голосов
/ 12 февраля 2019

Я хотел бы получить массив цветов, начиная со значений массива.

, например:

a = [4,3,2,5,6,20,1,34]

Я ожидаю, что у меня будет новый массив с цветом, похожим на карту viridis cmapmatplotlib, где маленькие числа связаны (тот же самый индекс) с темными цветами и большие числа со светлым цветом.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вы можете просто создать массив с цветами rgb, например:

colors = ["rgb(0, 0, 0)"]

И каждое возможное число может иметь запись в массиве.Таким образом, нулевое число в этом примере вернет rgb для черного.

0 голосов
/ 12 февраля 2019

Вы можете использовать matplotlib.pyplot.Normalize, чтобы данные нормализовались к интервалу [0-1] при подаче в функцию построения графика.Вот пример того, как это выглядело бы, используя нормализованные диапазоны

a = [4,3,2,5,6,20,1,34]
# An example colormap
colormap = plt.cm.cool 
# Normalize using the min and max values in a
normalize = plt.Normalize(vmin=min(a), vmax=max(a))
# scatter plot with the parameters defined above
plt.scatter(range(len(a)), y=a, c=a, cmap=colormap, marker='o')

enter image description here

Обратите внимание, что вам придется использовать a какаргумент c в matplotlib.pyplot.scatter, который, как указано в документе, принимает:

Цвет, последовательность или последовательность цветов, необязательно

Таким образом, вы будете использовать массив a для выбора значений из цветовой карты, которые, в свою очередь, будут нормализованы значениями ,ax и min в a.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...