Package: colorbm
colorbmColor Beyond Matplotlib：提供matplotlib之外的色彩图（Colormap）以及色板（Color Palette），仅此而已。主要用于使用matplotlib进行科技论文配图的绘制。colorbm提供三类色彩图或色板（色彩图包含diverging和sequential两类）：diverging色彩图：此类色彩图适合绘制需要突出数值正负区别的图片，或者数值大小之间有明显的分界线sequential色彩图：此类色彩图具有连续的色彩变化，适合绘制数值连续变化（Continuous Data）的图片palettes色板：顾名思义，色板是不同颜色的集合，适合绘制分类数据（Categorical Data）以及离散数据（Discrete Data）所有彩色图以及色板均从网络收集，包括或不仅限于以下图集：ggsci：官网seaborn：官网cmocean：官网scientific：官网CMasher：官网CARTO：官网Material Design：官网版本变动20201009:🐛 修正使用d3_10时发生的小错误🐛 修正无法输出色板颜色至xml文件增加wesanderson色版，来自Wes Anderson所导演的电影。来源网站20200930:添加colorcet颜色分类，具体颜色可查询网站20200924:增加了pal类，现在导入色板与色彩图有同样的操作增加了输出颜色至xml与csv格式文件，可以用于导入至paraview软件；色板中增加了nintendo分类，包括mario，luigi，yoshi，isabelle以及tomnook五个色板20200923：增加了色彩图增加了预览色彩图以及色板的功能增加了输出色彩图以及色板名称的功能增加pip安装选项增加了色彩图：turbo（Google AI Lab）以及parula（MATLAB默认色彩图）20200922：增加来自世界名画的色板以及《经济学人》杂志色板使用说明安装使用pip进行安装：pip install colorbm在国内网络环境可以通过pypi镜像进行安装，例如：pip install -i https://pypi.tuna.tsinghua.edu.cn/simple colorbm如果使用anaconda发行版，可切换至需要安装的虚拟环境，再使用pip进行安装：conda activate myenv
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple colorbm安装测试import colorbm as cbm

cbm.pcolor('crest').show()如果安装成功便可输出类似下方图片。色彩图与色板名称说明为了输入方便，所有的色彩图与色板名称均采用小写字母色板的使用调用pal()类以使用色板，该类下面有4种方法：as_cmap：此方法返回Colormap objectas_cmap_r：此方法返回反向颜色的色板as_hex：此方法返回所选色板颜色的HEX列表as_rgb： 此方法返回所选色板颜色的RGB列表这四种方法定义时加上了属性（property）装饰器，调用时不用加括号。例如：cbm.pal('mario').as_cmap，将返回通过mario色板创建的Colormap object实例：将所选择色板赋值于matplotlib中cmap参数
下例中调用npg色板import numpy as np
import matplotlib.pyplot as plt
import colorbm as cbm

plt.rcParams['scatter.edgecolors'] = 000000

np.random.seed(19680801)
N = 50
x = np.random.rand(N)
y = np.random.rand(N)

fig, ax = plt.subplots()
colors = np.random.rand(N)
area = (30 * np.random.rand(N)) ** 2  # 0 to 15 point radii

ax.scatter(x, y, s=area, c=colors, alpha=0.5, cmap=cbm.pal('npg').as_cmap)
plt.show()此外，也可将颜色的HEX列表用于seaborn中import matplotlib.pyplot as plt
import seaborn as sns
import colorbm as cbm

sns.set_palette(sns.color_palette(cbm.pal('npg').as_hex))

# Load the penguins dataset
penguins = sns.load_dataset("penguins")

# Plot sepal width as a function of sepal_length across days
g = sns.lmplot(
    data=penguins,
    x="bill_length_mm", y="bill_depth_mm", hue="species",
    height=5
)

plt.show()色彩图的使用调用seq()或div()类以使用色彩图，这两类分别对应sequential和diverging色彩图
这两类同样有四种方法：as_cmap：此方法返回Colormap objectas_cmap_r：此方法返回反向色彩图as_hex：此方法返回所选色板颜色的HEX列表as_rgb： 此方法返回所选色板颜色的RGB列表例如：cbm.seq('burg').as_cmap：使用连续色彩图burg；cbm.div('vlag').as_cmap：使用离散色彩图vlag；cbm.seq('burg').as_cmap_r：使用可以反转的burg色彩图。此外，还可以确定离散颜色的个数，例如：cbm.seq('burg', 10).as_cmap。这将从色彩图中通过均匀抽样取得10种颜色。下方是5种与10种离散颜色的区别：实例：import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

import colorbm as cbm

X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cbm.seq('burg', 50).as_cmap)

plt.show()色彩图与色板的测试调用pcolor类对已有色彩图与色板进行测试，此类下方有三种方法：show()：会临时显示一幅使用该色板的图像。例如：cbm.pcolor('flare').show()；或者使用cbm.pcolor('flare').show(reversed=True)获得反转色彩图。也可以确定离散颜色的个数，例如cbm.pcolor('flare', 50).show()to_xml()：输出paraview使用的色彩图xml文件，对色板无效。需要输入保存文件路径以及文件名（如果没有参数输入，默认路径为当前路径，文件名为色彩图名称）。例如：cbm.pcolor('flare').to_xml(wd=myDir, filename=myName)to_csv()：默认输出色彩图以及色板中颜色的RGB列表至csv文件（如果没有参数输入，默认路径为当前路径，文件名为色彩图名称，保存格式为rgb列表）。也可以设置输出HEX列表，例如cbm.pcolor('flare').to_csv(wd=myDir, filename=myName, fmt='hex')通过色彩图与色板方案查询色彩图或色板名称print(cbm.available_palettes().get):输出所有色板的名称。print(cbm.available_palettes('nintendo').get)：输出特定色板方案中有的色板名称现色板方案有：ggsci,paintings,carto,misc，nintendoprint(cbm.available_colormaps().all):输出所有色彩图的名称print(cbm.available_colormaps('carto').all):输出某个色彩图方案中所有色彩图的名称print(cbm.available_colormaps().div):输出所有离散色彩图的名称print(cbm.available_colormaps().seq):输出所有连续色彩图的名称print(cbm.available_colormaps('carto').div):输出某个色彩图方案中所有离散色彩图的名称print(cbm.available_colormaps('carto').seq):输出某个色彩图方案中所有离散色彩图的名称现色彩图方案有：seaborn，carto，scientific，cmasher，cmocean，misc，mat包含的色彩图以及色板色彩图seaborncartocmoceamscientificcmashermat（Material Design）misc色板cartoantiqueboldpastelprismsafevividggsci具体颜色可查询ggsci网站npg：自然出版集团出版杂志所用色板（Nature系列杂志）aaas：美国科学促进会出版杂志所用色板（Science系列杂志）nejm: 新英格兰医学杂志所用色板lancet：柳叶刀杂志所用色板jama：美国医学会杂志所用色板jco: 临床肿瘤学杂志所用色板ucscgb: 基因组浏览器用于染色体可视化的色板d3: JavaScript程序库D3.js所用色板，有四个分类：d3_10、d3_20、d3_20b以及d3_20clocuszoom: LocusZoom图所用色板igv：IGV软件所用色板，有两个分类可用：igv以及igv_alternativeuchicago: 芝加哥大学所用色板，有三个分类可用：uchicago、uchicago_light以及uchicago_darkstartrek: 《星际迷航》系列影片所用色板tron: 《创：战纪》影片所用色板，其背景颜色较暗futurama: 《飞出个未来》电视剧所用色板rickandmorty: 《瑞克和莫蒂》电视剧所用色板simpsons: 《辛普森一家》电视剧所用色板paintings具体颜色可查询网站starrynight：来自梵高的名画《星夜》monalisa：来自达芬奇的名画《蒙娜丽莎》scream：来自蒙克的名画《呐喊》lastsupper：来自达芬奇的名画《最后的晚餐》afternoon：来自修拉的名画《大碗岛的星期天下午》optometrist：来自洛克威尔的名画《验光师》kanagawa：来自葛饰北斋的名画《神奈川冲浪里》kiss：来自克里姆特的名画《吻》memory：来自达利的名画《《持续的记忆》lilies：来自莫奈的名画《睡莲》wesanderson来自Wes Anderson所导演的电影，包含以下色板bottlerocket1bottlerocket2rushmore1rushmore2royal1royal2rissoudarjeeling1darjeeling2chevalierfantasticfoxmoonrise1moonrise2moonrise3cavalcantigrandbudapest1grandbudapest2isleofdogs1isleofdogs2misc包含以下色板economist: 经济学人杂志所用色板，有三个分类：economist、economist_primary以及economist_alternative