我有一组点,我从中获得样条曲线,但它包含颜色值,我希望沿曲线平滑变化。
现在我正在使用Matplotlib,因此最好使用解决方案。但是,如果使用其他一些Python库非常容易,我不介意切换到它。 OpenGL似乎有点矫枉过正。
以下是一个例子:
n = 50
x = np.array(list(range(0,n))) * 0.1
y = x**2 + np.random.randn(n) * 2.0
c1,c2,c3 = zip(*np.random.uniform(low=0.0,high=1.0,size=(n,3)))
print( "\n".join( map(lambda x: str(x), [n,x,y,c1,c2,c3]) ) )
tck, u = interpolate.splprep([x,y,c1,c2,c3],k=3)
out = interpolate.splev(u,tck)
plt.figure()
plt.plot(out[0],out[1])
plt.show()
因此,我得到了点的x
和y
值,然后是c1,c2,c3
中的RGB值。现在我只是绘制点的曲线。如何为其添加平滑变化的颜色?