我有一组带标记的线条。我希望这些标记能够淡化色彩图,例如棱镜,取决于能够提供温度的函数。这是我的代码:
openById()
这只是我正在努力的标记面颜色部分。让我们说如果温度很低(从函数返回的值很低),颜色将与色图上“第一”颜色的颜色相同,如果温度非常高(从函数返回的值很高),它将是色彩图上的“最后”颜色。有没有办法做到这一点?
任何帮助都会非常感激,因为我现在已经在这方面苦苦挣扎了一段时间!
提前致谢
答案 0 :(得分:0)
这里有一些代码可以证明我的建议:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import cm
import random
maximum = 10
n = 10
def pick_color():
closest_match = 10*maximum #arbitrary high number
for item in color_pairs:
if abs(item[0] - num) < closest_match:
closest_match = abs(item[0] - num)
c = item[1]
return c
color = iter(cm.rainbow(np.linspace(0,1,n)))
color_pairs = [(value, c) for value, c in zip(range(n+1), color)]
Xs = [i for i in range(n+1)]
random_list = [random.choice(range(maximum +1)) for i in range(n+1)]
for x, num in zip(Xs,random_list):
c = pick_color()
plt.scatter(x, num, s=50, c=c)
plt.show()
显然,你想要一条线等,但主体是一样的。