【发布时间】:2021-10-17 23:54:39
【问题描述】:
我正在尝试使用 matplotlib 来实现跨不同数据集的特定值范围获得一致的颜色。所以,我想给出一个最小值和最大值范围,并根据这个范围应用一个 cmap 函数,我可以将它应用于不同的数据集,并且为相同的值提供相同的颜色,并且不适应值的范围特定的数据集。但是,当我给出一些值并且不将此范围应用于 plt.imshow() 函数时,我需要从函数中获取颜色,因为我不能将它用于我的情况。我想在这里证明我的观点:
import numpy as np
import matplotlib.pyplot as plt
dataset_a = np.linerange(0,1000)
dataset_b = np.linerange(0,10)
pal = plt.get_cmap("viridis")
colors_a = pal(dataset_a)
colors_b = pal(dataset_b)
因此,我不想在 colors_a 和 colors_b 对象中使用完整范围的颜色,但对两个数据集应用相同的范围。
感谢您的帮助!
【问题讨论】:
-
您缺少标准化步骤:
colors_a = pal(Normalize(dataset_a, vmin=0, vmax=2000))
标签: python matplotlib colors