python - 设置 pcolormesh 彩条的中点
问题描述
我正在尝试创建一个表面温度数据(加热周数)的 iplt.pcolormesh 地图,其中发散色条的中心正好在 8 上。我这个数据集的最小值和最大值分别大致对应于 -22 和 +22。通过调整和拉伸颜色条的最小值和最大值以超出我的数据范围,我几乎已经实现了我想要做的事情,但是我首先不确定中心颜色是否正好在 8 上,其次。让我的颜色条超出我的数据范围是没有意义的。
此外,因为 8 是数据中的一个不寻常的中心点,所以我想将此标签/刻度设为粗体或以特定方式拉伸颜色图,以强调 >=8 的值,即,颜色图不是完全对称的。
谢谢
# MIROC6 ssp5(8.5)
if (dhw_cube_name == "MIROC6 ssp5(8.5)"):
enso_events_year_list = [29,30,40,45,46,50,57,63,70,75,80,81,86,89,90]
for i in range (0, len(enso_events_year_list)):
event_start_year = enso_events_year_list[i]+2000
event_end_year = enso_events_year_list[i]+2000
enso_event_cube = dhw_to_enso_event_timeline(dhw_max_cube_detrended,event_start_year,event_end_year)
enso_event_cube = enso_event_cube.collapsed('time', iris.analysis.MAX)
enso_event_cube_data = enso_event_cube.data
enso_event_cube_data.mask[np.where(enso_event_cube_data == 0)] = True
plt.figure()
iplt.pcolormesh(enso_event_cube,cmap="bwr")#
plt.title("{0} {1}\n Major El Nino Event Maximumum DHW".format(dhw_cube_name,event_start_year))
plt.colorbar(label="DHW",orientation = 'vertical',ticks=[-22, 8, 30])
plt.clim(-22,36)
plt.gca().coastlines(linewidth=0.4)
plt.savefig("/data/local_ssd/cj362/S2P3Rv2.0/dhw/figures/MIROC6_ssp5_enso_event_figures/{0} {1} elnino_colormesh.png".format(dhw_cube_name,event_start_year))
解决方案
推荐阅读
- server - Ubuntu - 重启后 ufw 状态显示为非活动状态
- swift - 为什么我在 touchesBegan 中没有节点?
- javascript - JS - 使用 Import 导入单个类
- amazon-web-services - AWS Lambda EndPoint 可以改变吗?
- sas - 如何在 SAS 中使用以下 2 个图表制作 100% 堆叠图表?
- python - 我如何知道在 python 语句中调用了哪些魔术方法?
- javascript - 什么时候 getter 函数在 JavaScript 中有用?
- r - 在 ggplot2 中显示计算进度
- python-3.x - 将多个静态页面抓取到 Dataframe 时,Selenium 仅获取最后一页
- bash - 使用 sed 提取配置文件行中的一个部分