Python Matplotlib从cmap保存颜色
我一直无法理解这一点,所以我希望这里有人能给我指出正确的方向 我基本上是在尝试存储从我的颜色映射中使用的颜色,以便稍后在代码中使用它Python Matplotlib从cmap保存颜色,python,matplotlib,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=<???>)
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循环中使用与我的贴图相同的颜色。我相信这很简单,但我似乎找不到合适的东西组合来寻找答案 我无法完全理解您想要实现的目标。我不确定下面的内容是否有用。。。。悲哀地 您的代码应该是这样的:
ax.axvline(x=magic_number, color=color_map(float(magic_number)/float(max_magix_number) ) )
它的工作原理非常简单,floatmagic_number/floatmax_magix_number给出一个介于0到1之间的浮点数。color\u mapscaled number以R、G、B和透明度的元组形式返回所需颜色
>>> c = get_cmap('Spectral')
>>> c(0.5)
(0.998077662437524, 0.9992310649750096, 0.7460207612456747, 1.0)
>>>
您的散点图是否有不同的颜色或所有的点都是相同的颜色?由于我在同一个ax上绘制并随后显示,因此散点图有不同的颜色点。显示的代码不会产生不同颜色的散点,并且将忽略颜色图的定义。如果你能清楚地表明你在做什么,那就太好了。对不起,这可能不够精确。当然,您会得到不同颜色的散射点,但它们的颜色与您定义的颜色贴图无关。正因为如此,现在还不清楚您到底想要实现什么。我不明白的是:您的数据帧名为x,您正在迭代时间创建的组,但在循环中您正在反复绘制x?但变化的变量,即组和帧,根本不使用。。。但是使用了一些奇怪的y,它在任何地方都没有定义-但是当再次循环时,这显然没有改变。你能解释一下吗?