在Python中设置颜色条的限制

xpcnnkqh  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(188)

我画了一个等值线图和一个颜色条来显示我画的值的范围。颜色条的界限是(-0.4,0.4),我想用20步将它们转换成(0,100),即0,20,40,60,80和100。
我试着这样做:

plt.clim(0, 100)

plt.colorbar(label="unit name", orientation="vertical")

但是颜色条的限制保持不变,我的图改变了颜色,变成了紫色。
你能帮我一下吗?

kknvjkwl

kknvjkwl1#

如果将数组[-0.4,0.4]的值转换为范围[0,100],就可以绘制所需的图形。
这就是我在下面的例子中所做的:

from random import randint
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1.axes_divider import make_axes_locatable

size = 50
A = np.array([randint(-4, 4)/10 for _ in range(size*size)])
A = (A*10 + 4)*12.5    # Translate values from [-0.4, 0.4] to [0, 100].
B = A.reshape((size, size))

ax = plt.subplot()

im = ax.imshow(B)
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
im.set_clim(0, 100)
plt.colorbar(im, cax=cax)
plt.show()

输出:x1c 0d1x

相关问题