如何从Matplotlib中的简单数组生成颜色图数组

如何从Matplotlib中的简单数组生成颜色图数组,第1张

如何从Matplotlib中的简单数组生成颜色图数组

问题的答案在复制到问题中的文档的摘要中给出

…从间隔[0,1]到RGBA颜色…

但是,如果您发现代码 丑陋 ,可以尝试使其更好:

  1. 您不必手动指定标准化的限制(如果您打算使用最小/最大):

    norm = plt.Normalize()

    colors = plt.cm.jet(norm(dz))

  2. 如果您发现它很丑陋(尽管我不明白为什么),则可以继续手动进行 *** 作:

    colors = plt.cm.jet(np.linspace(0,1,len(dz)))

但是,此解决方案仅限于等距的颜色(这是您

dz
在示例中给出的值)。

  1. 然后,您还可以复制的功能

    Normalize
    (因为您似乎不喜欢它):

    lower = dz.min()

    upper = dz.max()
    colors = plt.cm.jet((dz-lower)/(upper-lower))

  2. 使用辅助功能:

    def get_colors(inp, colormap, vmin=None, vmax=None):norm = plt.Normalize(vmin, vmax)return colormap(norm(inp))

现在您可以像这样使用它:

    colors = get_colors(dz, plt.cm.jet)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存