我有使用 matplotlib basemap 在 python 中绘制的二维字段。
字段的值从 0 到 1000 以上不等。是否可以创建具有固定渐变和颜色的手动颜色图?它应该看起来像:
对于值 - 设置颜色
我是python的新手。所以,欢迎任何建议。
最佳答案
This 正是您想要的。
不过,您必须输入它的方式有点令人困惑,所以 this 可能更有帮助。
但是,要获得大于 1000 位的值,您需要屏蔽 1000 以上的值,并使其余的比例从 0 到 1000。
from matplotlib.colors import LinearSegmentedColormap
cMap = []
for value, colour in zip([0,1,5,10,25,50,100,500,1000],["White", "DarkGreen", "LightGreen", "Yellow", "Brown", "Orange", "IndianRed", "DarkRed", "Purple"]):
cMap.append((value/1000.0, colour))
customColourMap = LinearSegmentedColormap.from_list("custom", cMap)
这就是创建自定义颜色图所需的全部内容。要使用它,只需将它作为命名参数
cmap
传递给 plot 函数(无论您使用哪个)这是它的样子。
关于Python matplotlib 手动颜色图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25506341/