首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中调用调色板色彩映射表中的颜色

如何在Python中调用调色板色彩映射表中的颜色
EN

Stack Overflow用户
提问于 2020-02-01 09:13:27
回答 1查看 1.2K关注 0票数 0

在matplotlib(特别是matplotlib.cm)中,可以调用色彩映射表中的颜色,如下所示

代码语言:javascript
复制
import matplotlib.cm as cm
cm.viridis(0.5) #viridis is the name of a colormap

它从色彩映射表的中心(也就是(0.127568, 0.566949, 0.550556, 1.0))获取颜色,基本上我希望能够调用一个从库中获取的色彩映射表palletable。您可以导入特定的调色板,如下所示:

代码语言:javascript
复制
from palettable.colorbrewer.qualitative import Dark2_7

这导入了色彩映射表"Dark2_7“,但我不知道如何”调用“它,就像我对viridis所做的那样,我刚刚开始,我真的一无所知,谢谢,如果措辞奇怪,请询问您是否需要更多细节或是否不够清楚。

EN

回答 1

Stack Overflow用户

发布于 2020-02-01 09:55:24

您可以使用从0到6的i值将单个颜色命名为Dark2_7.mpl_colors[i] (因为该映射中有7种颜色)。或者,如果你使用Dark2_7.mpl_colormap(0.5),你可以像使用viridis一样使用它。

下面是一个在散点图中使用它的示例。请注意,默认版本是插值了所有颜色的连续颜色映射。如果需要离散颜色贴图,请使用ListedColormap(Dark2_7.mpl_colors)

代码语言:javascript
复制
from matplotlib import pyplot as plt
import numpy as np
from palettable.colorbrewer.qualitative import Dark2_7
from matplotlib.colors import ListedColormap

x = np.random.uniform(-1, 1, 10000)
y = np.random.uniform(-1, 1, 10000)
z = np.sqrt(x**2+y**2)/1.4
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12, 5))
scat1 = ax1.scatter(x, y, c=z, vmin=0, vmax=1, s=1, cmap=Dark2_7.mpl_colormap)
plt.colorbar(scat1, ax=ax1)
scat2 = ax2.scatter(x, y, c=z, vmin=0, vmax=1, s=1, cmap=ListedColormap(Dark2_7.mpl_colors))
plt.colorbar(scat2, ax=ax2)
plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60013184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档