Lee*_*ian 6 python colors matplotlib
我想将图中的颜色分配给由整数表示的标称数据。我想从定性颜色图中绘制颜色,特别是我想从 Set3 中绘制五种颜色:
问题是我想使用前五种颜色,但颜色映射器对我的数据进行标准化,五个分类值的范围从 1 到 5,并从 12 种颜色中选择第 1、4、7、10 和 12 种颜色。颜色设置。
基本上,matplotlib.cm.get_cmap允许您指定多种颜色,但在范围内进行标准化:
from matplotlib import cm
set3_5 = cm.get_cmap("Set3", lut = 5)
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西matplotlib.colors.ListedColormap,它有一个参数N,可以在N 个项目之后截断颜色列表而不进行标准化。但我不知道如何将内置颜色图传递给.ListedColormap
您将cm.get_cmap("Set3").colors获得色彩图中 12 种颜色的列表。可以对该列表进行切片以获得特定的颜色。它可以用作 的输入ListedColormap。
请注意,对于连续颜色图(例如 viridis),该列表有 256 种颜色。您可以使用 获得均匀间隔的子集cm.get_cmap("viridis", 8).colors,然后再次切片,例如,如果您不想使用太亮的颜色。
这是一个例子:
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
cmap = matplotlib.colors.ListedColormap(matplotlib.cm.get_cmap("Set3").colors[:5])
plt.scatter(np.random.uniform(0, 10, 50), np.random.uniform(0, 10, 50), c=np.random.uniform(0, 10, 50), cmap=cmap)
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)