раскрасить каждую точку пути на основе кривизны с помощью python

Как мне закодировать цвет на точечной диаграмме, чтобы покрасить каждую точку (x, y) в черный цвет, когда переменная кривизна равна 0, затем перейти к зеленому цвету, чем выше кривизна, которую он получает, и к красному цвету, который он получает?


person S.sonia    schedule 28.08.2017    source источник
comment
Я не думаю, что это правильный способ задать вопрос здесь. Возможно, вы захотите добавить фрагмент/весь код или то, что уже пробовали.   -  person officialaimm    schedule 28.08.2017
comment
Я только что обнаружил, что это можно сделать с помощью matplotlib.pyplot.scatter, но я понятия не имею, как определить цветовую карту.   -  person S.sonia    schedule 28.08.2017


Ответы (1)


Ваш вопрос, кажется, поднимает несколько вопросов.

Во-первых, вам нужно вычислить кривизну ваших (x,y) данных. Я предлагаю вам посмотреть здесь.

Затем, возможно, вы могли бы взглянуть на все доступные цветовые карты в документации matplotlib. Возможно, нет необходимости создавать собственную карту цветов, хотя это возможно.

Наконец, ваш код будет выглядеть примерно так:

import numpy as np
import matplotlib.pyplot as plt

x = range(10)
y = np.random.rand(10) # generate random points
curvature = range(10) #compute your curvature here

plt.figure()
plt.scatter(x, y, s=20, c=curvature, cmap=plt.cm.seismic)
#perhaps you want to link points:
plt.plot(x,y)
person Dneis    schedule 29.09.2017