У меня проблемы с настройкой цвета np.nan
значений в моем наборе данных. Мне уже удалось получить camp.set_bad
, работающий в imshow
участках, но он не работает в plt.scatter
.Matplotllib: установить «плохой» цвет в диаграмме рассеяния
В любом случае, моя главная цель - присвоить определенный цвет плохим значениям.
Это, как я, хотя это будет работать (но это не ;-)
import matplotlib.pyplot as plt
import numpy as np
n = 20
x = y = np.linspace(1, 10, n)
c = np.random.random_sample((n,))
c[4] = np.nan
c[8:12] = np.nan
cmap = plt.get_cmap('plasma')
cmap.set_bad(color='black', alpha = 1.)
plt.scatter(x, y, c=c, s=200, cmap=cmap)
Это дает мне следующий вывод:
Конечно, я мог бы разделить набор данных на два отдельных набора и перенаправить их, но я уверен, что существует гораздо более чистое решение.
Просто догадаться, но документы для 'plt.scatter' говорят, что« cmap используется только в том случае, если c является массивом поплавков ", тогда как аналогичное утверждение не сделано о' plt.imshow' – lanery