Matplotlib从cmap保存颜色

时间:2018-10-09 17:46:07

标签: python matplotlib

以前无法弄清楚这一点,所以希望这里的人能指出我正确的方向...

我基本上是试图存储从颜色图中使用的颜色,以便以后在代码中使用它。

color_map = cm.get_cmap('Spectral')
for grp,frame in x.groupby('time'):
   ax.scatter(x, y, cmap=color_map)
       <other code>
   ax.axvline(x=magic_number, color=<???>)
plt.show()

我很想在for循环中使用地图中的相同颜色。我相信这很简单,但是我似乎找不到合适的方法来寻找答案。

1 个答案:

答案 0 :(得分:1)

我无法完全理解您要实现的目标。我不确定以下内容是否会有所帮助。...(很遗憾)

您的代码应如下所示:

ax.axvline(x=magic_number, color=color_map(float(magic_number)/float(max_magix_number) ) )

工作原理非常简单float(magic_number)/float(max_magix_number)给出一个从零到一的浮点数。 color_map(scaled number)以R,G,B和透明度的元组形式返回所需的颜色。

>>> c = get_cmap('Spectral')
>>> c(0.5)
(0.998077662437524, 0.9992310649750096, 0.7460207612456747, 1.0)
>>>