我有使用matplotlib底图在python中绘制的二维字段。 字段的值从0到1000不等。是否可以创建具有固定渐变和颜色的手动色彩图?它应该看起来像:
表示值 - 设置颜色
我是python的新手。所以,欢迎任何建议。
答案 0 :(得分:5)
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
这就是它的样子。