以下文章来源于气象备忘录 ,作者蓝胖
虽然微信截图可以获取像素点的rgb值,但是完整拷贝一个色标,逐个记录属实麻烦。气象家园上的GrADS调色盘可以很好地完成这个工作。
传送门->
http://bbs.06climate.com/forum.php?mod=viewthread&tid=33880&extra=page%3D1
打开软件后,点击克隆
点击截图,截取需要的色标
点击开始录制,然后逐个点击需要拷贝的颜色
录制完毕后点击停止录制,再点击返回
将输出模式改为ncl,然后点出输出,即可得到包含rgb数值的txt文件
可以通过pandas读入上面输出的文件,再将每一行的rgb值合并为列表中的元素并除以255.,最后用ListedColormap生成cmap。
import pandas as pd
import numpy as np
fn = "/home/mw/input/pcp6426/8colors.rgb"
df = pd.read_csv(fn, skiprows=4, sep='\s+',encoding='gbk',header=None, names=['r','g','b'])
df
rgb = []
for ind, row in df.iterrows():
rgb.append(row.tolist())
rgb = np.array(rgb)/255.
rgb
from matplotlib.colors import ListedColormap
cmap = ListedColormap(rgb)