我想知道是否有一个函数调用可以给予我matplotlib中所有可用的颜色Map表的名称?
它曾经是可能的东西沿着线(见here):
import matplotlib.pyplot as plt
cmaps = sorted(m for m in plt.cm.datad if not m.endswith("_r"))
但是在mpl 1.5中运行这个并不返回新的颜色Map表,比如viridis
,magma
等等。在新的参考页面上,代码实际上硬编码了名称(参见here),但是我想知道是否仍然可以进行类似的查询?
7条答案
按热度按时间yruzcnhs1#
plt.colormaps()
返回所有已注册的颜色Map表的列表。来自文档:matplotlib.pyplot.colormaps()
Matplotlib提供了许多颜色Map表,其他的可以使用register_cmap()添加。这个函数记录了内置的颜色Map表,如果调用的话,还将返回所有注册的颜色Map表的列表。
返回的列表包括
1.5.0
中的viridis
、magma
、inferno
和plasma
hk8txs482#
这里有一些代码,绘制所有可用的颜色Map表链接到他们的ID的
输出如下所示
口音
重音_r
蓝调
等等
c0vxltue3#
下面是基于pr94的方法的代码,它将每个颜色Map表的id标在标题中,但没有为每个颜色Map表打开一个图。
我已经用它在一张图片中创建了所有166种颜色Map的概览(mpl版本3.4.2)。
kh212irz4#
现在你可以在matplotlib文档的最新官方示例中看到所有可用的颜色及其种类。截至2023年9月,文档在这里:
https://matplotlib.org/stable/tutorials/colors/colormaps.html
下面是在IPython中显示颜色的示例用法,我还在cmap中使用了它。
wlzqhblo5#
似乎你可以直接查看colormap示例,只要调用它的名字。例如,col_map = plt.get_cmap(cmap),你在终端中输入col_map(例如spyder),colormap将显示为一个plot。但是,我不确定是什么触发了这个外观,或者是否有任何必要的代码来指定这个选项?
1qczuiv06#
截至2021年(matplotlib 3.4),
Colormap对象的IPython表示
matplotlib.colors.Colormap
对象现在有了IPython /IPython后端的图像表示。在最后一行返回颜色Map表的单元格将显示颜色Map表的图像。所以现在你可以使用
cmaps = plt.colormaps()
来获取所有有效的颜色Map表名称。输出将是一个名称列表:然后,
plt.get_cmap(cmaps[0])
将在IPython/IPyetrLab中呈现颜色Map表。x1c 0d1x7vux5j2d7#
如上所述,
plt.colormaps()
将返回MPL中所有注册的色彩Map表的列表。(https://cmasher.readthedocs.io/user/usage.html#colormap-overviews)在CMasher包中。它需要一个色彩Map表列表,并创建一个包含所有色彩Map表的概览图。如果您想对特定的色彩Map表进行排序,它还提供了一系列选项。方面或按类型分组。一个例子可以在这里看到(没有显示在这篇文章中的图像,因为它是相当大的):https://cmasher.readthedocs.io/user/cmap_overviews/mpl_cmaps.html