python matplotlib:检索等高线图中使用的颜色

Pet*_*r B 4 python colors matplotlib contour

我制作了一个包含(比如说)10 个等高线的等高线图,如下所示:

CS = plt.contour(X, Y, Z, levels=levels)
Run Code Online (Sandbox Code Playgroud)

哪里levels有 10 个数字的列表。

我对 matplotlib 使用的颜色非常满意 - 我认为它从默认颜色图中选择了 10 个间隔良好的颜色 - 但是我如何检索实际使用的颜色?(就像 RGB 值的列表一样)。原因是我想构建一个自定义颜色条(通过在plt.hlines命令中使用这些颜色)。

CT *_*Zhu 5

假设您想要 10 个级别的颜色图jet

import matplotlib.cm as cm

cm.jet(np.linspace(0, 1, 10))
Out[31]: 
array([[ 0.        ,  0.        ,  0.5       ,  1.        ],
       [ 0.        ,  0.        ,  0.99910873,  1.        ],
       [ 0.        ,  0.37843137,  1.        ,  1.        ],
       [ 0.        ,  0.83333333,  1.        ,  1.        ],
       [ 0.30044276,  1.        ,  0.66729918,  1.        ],
       [ 0.66729918,  1.        ,  0.30044276,  1.        ],
       [ 1.        ,  0.90123457,  0.        ,  1.        ],
       [ 1.        ,  0.48002905,  0.        ,  1.        ],
       [ 0.99910873,  0.07334786,  0.        ,  1.        ],
       [ 0.5       ,  0.        ,  0.        ,  1.        ]])
Run Code Online (Sandbox Code Playgroud)

返回的是 RGBA 值的数组。