- 积分
- 7721
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-2-14
- 最后登录
- 1970-1-1
|
发表于 2022-7-28 22:28:22
|
显示全部楼层
给楼主提供两个方法,欢迎批评指正:
法一,利用mpl.cm.ScalarMappable和norm设置colorbar
import matplotlib as mpl
cmap = plt.cm.jet # 以jet为例
norm = mpl.colors.BoundaryNorm(boundaries=[-1, 0, 1, 2, 3, 4, 5], ncolors=cmap.N)
cmap_colorbar = mpl.cm.ScalarMappable(norm=norm, cmap=cmap)
# 生成colorbar
cb = plt.colorbar(cmap1, shrink=1, pad=0.1, orientation="horizontal", fraction=0.05, ax=ax)
法2:调用colorbar的ax属性,在想加刻度的地方加上刻度
ax_cb = cb.ax
# 设置主刻度属性
ax_cb.tick_params(axis='both',which='major',labelsize=7,direction='in',length=4,width=0.5,
pad=1.2, top=False,right=False, left=False, bottom=True)
# 设置副刻度属性
ax_cb.tick_params(axis='both',which='minor',direction='in',length=2, width=0.5,
top=False,right=False, left=False, bottom=False)
# 假设在-1,0,1,2,3,4,5添加刻度
ax_cb.xaxis.set_major_locator(mpl.ticker.FixedLocator([-1, 0, 1, 2, 3, 4, 5]))
|
|