Я хочу представить набор данных из точек, каждая точка имеет координаты x и y и значение single-di git, и каждое из значений должно быть представлено определенным цветом. Что мне удалось сделать, так это создать что-то вроде этого, что выглядит достаточно красиво:
# x, y and digits are one-dimensional np.arrays of the same shape
plt.scatter(x, y, marker='o', c=digits)
#random colormap
plt.viridis()
Теперь я хочу представлять сами цифры, а не просто цветные точки. Насколько я понимаю, аргумент-маркер не может быть массивом, поэтому я решил, что такой вариант будет работать:
for i in range(len(digits)):
plt.scatter(x[i], y[i], c=digits[i], marker=('${}$'.format(digits[i])))
Что почти сработало, но 'c = digits [i]', похоже, не работает потому что di git на самом деле не кодирует какой-либо конкретный цвет. Я думаю (поправьте меня, если я ошибаюсь), что первый код работает, потому что python каким-то образом автоматически понимает, что под c = digits я не имел в виду какой-либо реальный цвет, а хотел различать две точки.
Итак, возникает вопрос: что проще всего сделать во втором случае, чтобы указать цвета цифр, не указывая их напрямую, но используя цветовую карту по умолчанию? (в идеале я хотел бы получить sth, идентичный тому, что делает первый код, но с цифрами вместо точек)