【问题标题】:how to set a fixed color bar for pcolor in python matplotlib?如何在 python matplotlib 中为 pcolor 设置固定颜色条?
【发布时间】:2011-03-03 08:21:25
【问题描述】:

我正在使用带有自定义颜色图的 pcolor 来绘制值矩阵。我设置了我的颜色图,使低值是白色,高值是红色,如下所示。我所有的矩阵的值都在 0 和 20(含)之间,我希望 20 始终为纯红色,0 始终为纯白色,即使矩阵的值不跨越整个范围。例如,如果我的矩阵只有 2 到 7 之间的值,我不希望它将 2 绘制为白色,将 7 绘制为红色,而是将其着色为范围仍为 0 到 20。我该怎么做呢?我尝试使用 colorbar 的 "ticks=" 选项,但它不起作用。

这是我当前的代码(假设“my_matrix”包含要绘制的值):

cdict = {'red': ((0.0, 1.0, 1.0),
         (0.5, 1.0, 1.0),
         (1.0, 1.0, 1.0)),
     'green': ((0.0, 1.0, 1.0),
           (0.5, 1.0, 1.0),
           (1.0, 0.0, 0.0)),
     'blue': ((0.0, 1.0, 1.0),
          (0.5, 1.0, 1.0),
          (1.0, 0.0, 0.0))}
my_cmap = matplotlib.colors.LinearSegmentedColormap('my_colormap', cdict, 256)
colored_matrix = plt.pcolor(my_matrix, cmap=my_cmap)
plt.colorbar(colored_matrix, ticks=[0, 5, 10, 15, 20])

知道如何解决这个问题以获得正确的结果吗?非常感谢。

【问题讨论】:

    标签: python numpy scipy matplotlib


    【解决方案1】:

    猜测:您的颜色图可能没问题。绘图时尝试调整vminvmax

    pylab.imshow(im, vmin=0, vmax=20)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2011-02-02
      相关资源
      最近更新 更多