如何在matplotlib中提亮颜色

时间:2016-07-02 10:56:09

标签: python matplotlib

无论如何在matplotlib中使颜色更亮一些吗?

我有以下颜色图:

 cmap = clr.LinearSegmentedColormap.from_list('red_yellow', 
                                         [(0,'#00001a'),
                                          (0.59,'#e60000'),
                                          (0.85,'#ff8000'),
                                          (0.97,'#ffcc00'),
                                          (1,'#ffff00')], N=600)

看起来像这样:

enter image description here

我的问题:

有没有办法让色彩图的最后一个括号中的黄色[由这一行给出:(1,'#ffff00')]看起来比现在更明亮?

我并不是说我希望颜色更轻,更重要的是我希望它能够更加突出,有点像它被点亮了&#' 39;发光'热。我希望保持黄色的温暖,同时让它看起来非常明亮。

我希望它真正脱颖而出,几乎就像它闪耀着。在matplotlib中有没有办法做到这一点?

感谢。

1 个答案:

答案 0 :(得分:1)

我能想到的最简单方法是将其转换为HSL,然后将其转换为亮度,然后将其转换回来。如果你要沿着这条路走下去,我会使用colorsys库 - 我有很多例子可供我使用它,如果你还需要,我明天可以找一个(或者如果其他人没有打败我的话。)

或者,你可以选择一种不同的颜色 - 你希望它更白 - 看起来你想要黑色的身体颜色 - this库是好的,虽然可能有点矫枉过正。看看here中的黑洞模拟 - 颜色是白色的,但是当你将它与其他颜色正确地结合在一起时,它们会被认为是热的,它看起来会更亮。除此之外,我认为在matplotlib中添加bloom会非常复杂*。

*如果你真的想要,我想你可以用很多透明层来做,但是因为matplotlib对于3d东西来说很糟糕(它实际上将3d对象绘制成扁平的对象)会很困难,没有交集 - 你需要自己仔细地做,我在其他地方有另一个答案。)