python – 设置matplotlib颜色条范围(范围大于绘制的值)
发布时间:2020-12-20 11:58:26 所属栏目:Python 来源:网络整理
导读:我想绘制一些数据(0到18之间),但我希望颜色条显示0到40之间的范围. 经过几个在线示例后,我不知道如何实现我的需求! 这是一个简单的例子: import matplotlib.pyplot as pltimport numpy as nprd = np.random.rand(40,100) # random samples from a uniform
我想绘制一些数据(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! 谢谢你的帮助! 解决方法
我终于设法解决了.
我必须传递一个关键字来控制要绘制的级别,而不是vmin和vmax,如下所示: import matplotlib.pyplot as plt import numpy as np rd = np.random.rand(40,100) surface = 18 * rd # maximum value will be 18 fig = plt.figure() ax = fig.add_subplot(111) cores = ax.contourf(surface[:],levels=range(41)) cbar = plt.colorbar(cores) plt.show() 我得到了我想要的图像: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |