python colorbar范围_python – 设置matplotlib颜色条范围(范围大于绘制的值)

  • Post author:
  • Post category:python


我想绘制一些数据(0到18之间),但我希望颜色条显示0到40之间的范围.

经过几个在线示例后,我不知道如何实现我的需求!

这是一个简单的例子:

import matplotlib.pyplot as plt

import numpy as np

rd = np.random.rand(40,100) # random samples from a uniform distribution over [0, 1]

surface = 18 * rd # maximum value will be 18

fig = plt.figure()

ax = fig.add_subplot(111)

cores = ax.contourf(surface[:], vmin=0, vmax=40)

cbar = plt.colorbar(cores)

我也试过这个:

cbar = plt.colorbar(cores, extend=’both’, extendrect=True)

cbar.set_clim(0, 40.)

但我一直得到相同的图像,颜色条从0到20!

我知道我可以使用set_over方法,但我不想得到一种颜色…我希望我的整个颜色范围(在核心中定义,从0到40)出现!

谢谢你的帮助!

最佳答案 我终于设法解决了.

我必须传递一个关键字来控制要绘制的级别,而不是vmin和vmax,如下所示:

import matplotlib.pyplot as plt