【问题标题】:matplotlib colourbar custom colour 1 valuematplotlib colorbar 自定义颜色 1 值
【发布时间】:2016-06-02 16:32:00
【问题描述】:

我想要一个普通的colorbar,但特定值的颜色有些不同。

我的数据涵盖(0,1) 范围,但我想传递一些超出该范围的值(因为它们是错误的),并且我想以主范围之外的另一种颜色查看它们。

所以我想要的是将黑色分配给 -1 值,并将普通颜色条分配给 (0,1) 范围内的值。这可能吗?

【问题讨论】:

    标签: python matplotlib colorbar


    【解决方案1】:

    是的,但您不需要为您的特定情况重建颜色图(这需要一些努力)。您可以使用vminvmax 将这些值保留在一边,说明数据的限制是什么,然后为低于或超过这些限制的所有值指定颜色(使用set_underset_over)。

    检查以下示例:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x, y = np.meshgrid(np.linspace(0, 10, 100), np.linspace(0, 10, 100))
    im = (x**2 + y**2)/100-0.5 # Creating synthetic data for your example
    
    p = plt.imshow(im.T, vmin=0, vmax=1, origin='lower', interpolation='nearest') # Set limits with vmin and vmax
    p.cmap.set_under('k')  # Set color under lower limit (k for black)
    p.cmap.set_over('w')  # Set color over upper limit (w for white)
    plt.show()
    

    ,结果如下:

    0以下都是黑色,1以上都是白色。

    【讨论】:

      猜你喜欢
      • 2013-02-05
      • 2015-04-19
      • 2021-12-26
      • 2021-05-03
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      相关资源
      最近更新 更多