Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib从cmap保存颜色_Python_Matplotlib - Fatal编程技术网

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,它在任何地方都没有定义-但是当再次循环时,这显然没有改变。你能解释一下吗?