【问题标题】:Apply the same matplotlib cmap function with a specific range for different data with different value ranges对具有不同值范围的不同数据应用具有特定范围的相同 matplotlib cmap 函数
【发布时间】: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


【解决方案1】:

您可以使用vmin/vmax 参数设置imshow 的最小值/最大值(参见imshow documentation ):

plt.imshow(DATA, vmin=0, vmax=1)

【讨论】:

    猜你喜欢
    • 2021-04-18
    • 1970-01-01
    • 2021-07-12
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    相关资源
    最近更新 更多