如何在 Matplotlib 中将调色板的子集提取为一个新的调色板?


若要将调色板的子集提取为一个新的调色板,我们可以采取以下步骤 −

  • 创建一个 10×10 形状的随机数组。

  • 向当前图形添加一个子图,其中 nrows=1、ncols=2index=1。

  • 使用 get_cmap 初始化,让散点知道。

  • 使用带有调色板的 imshow() 方法,将数据显示为图像,即在 2D 规则栅格上,使用 data colormap (步骤 1 和 3)。

  • 向当前图形添加一个子图,其中 nrows=1、ncols=2index=2。

  • 从现有的调色板中提取调色板的子集(来自步骤 3)。

  • 使用带有调色板的 imshow() 方法,将数据显示为图像,即在 2D 规则栅格上,使用数据和 colormap (步骤 1 和 6)。

  • 若要显示图形,请使用 show() 方法。

示例

import numpy as np
from matplotlib import pyplot as plt, colors
import matplotlib
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.random.rand(10, 10)
plt.subplot(121)
cmap = matplotlib.cm.get_cmap('Paired_r', 10)
plt.imshow(data, cmap=cmap)
plt.subplot(122)
new_cmap = colors.LinearSegmentedColormap.from_list(cmap.name, cmap.colors)
plt.imshow(data, cmap=new_cmap)
plt.show()

输出

更新于:09-4-2021

860 查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告