WedX - журнал о программировании и компьютерных науках

Установите непрерывную цветовую карту в matplotlib для линейной диаграммы

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

Это то, что у меня есть до сих пор:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm

arr = np.array([[24.99487317, 55.466666  ,  0.        ],
       [24.99487367, 55.46666917,  1.        ],
       [24.99487217, 55.46667017,  2.        ],
       [24.99487183, 55.4666715 ,  3.        ],
       [24.99487133, 55.466673  ,  4.        ],
       [24.99487267, 55.466674  ,  5.        ]])

fig, ax = plt.subplots()
ax.plot(arr[:, 0], arr[:, 1], c=cm.hot(arr[:, 2]), linestyle='dashed')
plt.show()

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

ValueError: Invalid RGBA argument: array([[0.0416, 0.    , 0.    , 1.    ],
       [1.    , 1.    , 1.    , 1.    ],
       [1.    , 1.    , 1.    , 1.    ],
       ...,
       [1.    , 1.    , 1.    , 1.    ],
       [1.    , 1.    , 1.    , 1.    ],
       [1.    , 1.    , 1.    , 1.    ]]) 

Я не могу найти подходящего примера в документах и ​​не знаю, какую форму должны иметь возвращаемые значения cm.hot (я пробовал разные способы, альтернативно с plt.scatter и аргументом cmap/norm, но та же ошибка)

Как мне нужно применить cmap, чтобы получить линию, которая постоянно становится ярче для последующих наблюдений?

04.05.2019


Ответы:


1

Попробуйте seaborn с разбросом:

fig, ax = plt.subplots(1,1, figsize=(12,8))
ax.plot(arr[:,0], arr[:,1])
sns.scatterplot(arr[:, 0], arr[:, 1], 
                ax=ax, hue=arr[:,2], 
                palette=plt.cm.hot,
                legend=None)
plt.show()

Выход:

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

04.05.2019
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]