科学调色板,用于制作易于访问、信息丰富和具有“cmashing”效果的图表
项目描述
CMasher:科学调色板,用于制作易于访问、信息丰富和具有“cmashing”效果的图表
《CMasher》包提供了一组科学调色板和实用函数,供不同的《Python》包和项目使用,主要与matplotlib结合使用,详情请参考在线文档(其中我还描述了如何在其他语言和应用程序中使用调色板)。《CMasher》中的调色板都是使用viscm包设计的感知均匀的顺序调色板;大多数都是色盲友好型;并涵盖了广泛的颜色组合,以适应大多数应用。它提供了几种常用调色板的替代方案,如《jet》的《chroma》和《rainforest》;《hot》的《sunburst》;《binary》的《neutral》;以及《coolwarm》的《fusion》和《redshift》。如果您找不到您理想的调色板,请提交问题,提供您想要的颜色和/或风格,我将尽力为您创建一个喜欢的调色板!让我们一起摆脱世界上所有的糟糕调色板!
如果您在工作中使用了《CMasher》,请为仓库点星,这样我可以跟踪有多少用户使用它,并更容易提高对糟糕调色板的意识。此外,如果您在科学出版物中将《CMasher》作为工作流程的一部分,请考虑引用《CMasher》论文(BibTeX: cmr.get_bibtex)。
调色板概览
以下是对《CMasher》中目前所有调色板的概览(使用cmr.create_cmap_overview()函数创建)。更多信息,请参阅在线文档。
在图中,可以看到《CMasher》提供的广泛颜色组合,因为我想要确保《CMasher》有一个调色板适合每个人。因此,《CMasher》的顺序调色板从单一的调色板如《amber》、《ember》、《flamingo》、《freeze》、《gothic》和《jungle》,到具有高感知范围的调色板如《apple》、《chroma》、《torch》、《neon》和《rainforest》。《CMasher》中的发散调色板也有类似的多样性,但更重要的是,其中一些调色板具有黑色中心而不是白色中心,如《iceburn》、《redshift》、《watermelon》和《wildfire》。黑色中心的发散调色板相当罕见,因为大多数研究人员习惯了白色中心的调色板,尽管在某些情况下,如绘制径向速度图时,黑色中心的发散调色板可能非常有用(离共同中心越远,任一方向的速率越高,相应的颜色应该越亮)。
安装 & 使用
如何安装
《CMasher》可以直接从PyPI使用以下命令安装:
$ pip install cmasher
或从conda-forge使用以下命令安装:
$ conda install -c conda-forge cmasher # If conda-forge is not set up as a channel $ conda install cmasher # If conda-forge is set up as a channel
如果需要,也可以克隆仓库并手动安装《CMasher》。
$ git clone https://github.com/1313e/CMasher $ cd CMasher $ pip install .
现在,可以使用import cmasher as cmr将《CMasher》导入为包。
除了Python之外,《CMasher》的调色板还可以在各种其他语言和应用程序中访问。支持《CMasher》的所有已知语言和应用程序的列表可以在这里找到。
示例使用
通过简单地导入《CMasher》即可访问上述调色板。这使得它们除了在《cmasher》模块中可用之外,还注册到《matplotlib》的《cm》模块(添加了《cmr.'》前缀以避免名称冲突)。例如,如果使用《rainforest》调色板,可以这样操作:
# Import CMasher to register colormaps
import cmasher as cmr
# Import packages for plotting
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
# Access rainforest colormap through CMasher or MPL
cmap = cmr.rainforest # CMasher
cmap = mpl.colormaps['cmr.rainforest'] # MPL
# Generate some data to plot
x = np.random.rand(100)
y = np.random.rand(100)
z = x**2+y**2
# Make scatter plot of data with colormap
plt.scatter(x, y, c=z, cmap=cmap, s=300)
plt.show()
对于其他用例,包括CMasher实用函数概述以及如何在其他编程语言和应用程序中使用CMasher,请参阅在线文档。
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。