【python绘图colorbar对齐】

news2024/9/21 18:39:25

@[Toc]# 1、问题描述

  • python在绘图过程中,可能会出现colorbar高度与主图不匹配情况,需要进行调整,使得与主图高度对齐,使图像更美观。
  • 示例:colorbar位置高于主图
    在这里插入图片描述

2、解决方法

  • 通过调整shrink参数匹配对齐,pad调整x轴方向与主图位置
...
map = ax.pcolormesh(X, Y, data * mask, cmap=cmaps, vmin=CC1, vmax=CC2)
cbar = plt.colorbar(mpl.cm.ScalarMappable(norm=norm, cmap=cmaps),shrink=0.97,pad=0.02)
...

在这里插入图片描述

  • 获取主图位置进行匹配对齐
import numpy as np
import matplotlib as mpl  
import matplotlib.pyplot as plt
x = np.arange(20)
y = np.arange(20)
[X,Y]= np.meshgrid(x,y)
Z = X**2 + Y

fig=plt.figure(figsize=(12,6)) 
ax = plt.axes()
norm =mpl.colors.Normalize(vmin=0, vmax=100) 
map = ax.pcolormesh(X, Y, Z,cmap='jet', norm=norm)
# 获取主图的位置进行匹配
ax1=fig.add_axes([ax.get_position().x1+0.01,ax.get_position().y0,0.02,ax.get_position().height])
i = fig.colorbar(mpl.cm.ScalarMappable(norm=norm,cmap='jet'),ax = map,cax=ax1,orientation='vertical')
i.ax.tick_params(labelsize=15,width=0.5,length=0.5)        
i.set_ticks(range(0,100,10))               
i.outline.set_linewidth(0.3)      

在这里插入图片描述

  • 使用 inset_axes 创建一个 ax 内小窗体,并作为colorbar
...
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
map = ax.pcolormesh(X, Y, data * mask, cmap=cmaps, vmin=CC1, vmax=CC2)
cb_ax = inset_axes(ax, width="3%", height="100%", loc='lower left', bbox_to_anchor=(1.01, 0., 1, 1),bbox_transform=ax.transAxes, borderpad=0)
cbar = plt.colorbar(mpl.cm.ScalarMappable(norm=norm, cmap=cmaps),ax=map,cax=cb_ax)
...

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1537003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 年 AI 辅助研发趋势将更加强调智能化、自动化和个性化

目录 前言 AI辅助研发的技术进展 行业应用案例 医药行业 汽车行业 电子行业 面临的挑战与机遇 技术挑战 伦理问题 数据安全 机遇和解决方案 未来趋势预测 1. 深度融合AI与研发流程 2. 智能研发平台的崛起 3. 强化AI与人类智慧的融合 前言 当谈到人工智能&#xff…

台达变频通过Modbus转Profinet网关可以在环网冗余中使用

Modbus转Profinet网关(如XD-MDPN100)是一种能够实现Modbus协议与Profinet协议之间转换的设备。它支持Modbus RTU协议和Profinet协议还支持MRP环网冗余系统,,可以通过配置软件进行协议转换,使得原本只能使用Modbus协议的设备可以与…

禁止区域入侵检测

1. 物体检测 Object detection with deep learning and OpenCV In the first part of today’s post on object detection using deep learning we’ll discuss Single Shot Detectors and MobileNets. When combined together these methods can be used for super fast, real…

马蹄集oj赛(双周赛第二十三次)

目录 数列分割 小码哥的地毯 小码哥的三色墙 palace 高数考试 新全排列 黑白双煞 等差 数三角形 区间修改 相对马高 小码哥剪绳子 数列分割 难度:黄金 时间限制:1秒巴 占用内存:64 M 小码哥给你一个长度为n的数列,求将该数列分割成两个左右两个部分且两…

【CVTE 一面凉经Ⅰ】循环依赖如何解决

目录 一.🦁 开始前的废话二. 🦁 什么是循环依赖?三. 🦁Spring 容器解决循环依赖的原理是什么?五. 🦁 三级缓存解决循环依赖的原理六. 🦁 由有参构造方法注入属性的循环依赖如何解决?七.&#x…

【算法分析与设计】相同的树

题目 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 示例 1: 输入:p [1,2,3], q [1,2,3] 输出:true示…

IDEA创建Maven项目实现数据库表查询

在此之前,务必确保你本地环境已经正确配置了 JDK 和 Maven,并且相关的环境变量已经设置。这是你踏上编程之旅的第一步,也是你与代码交互的基础。可通过命令提示符中输入 java -version 和 mvn -v 命令,以验证你的 JDK 和 Maven 是…

多ip多进程代理的实现方法

目录 写在前面 一、背景 二、实现方法 1. 使用多线程处理代理请求 2. 使用多进程处理代理请求 3. 实现多IP代理 三、总结 写在前面 实现多IP多进程代理需要使用Python的多线程和多进程模块。本文将介绍如何使用这些模块来实现多IP多进程代理,并提供相关的代…

蓝桥杯练习——神秘咒语——axios

目标 完善 index.js 中的 TODO 部分,通过新增或者修改代码,完成以下目标: 点击钥匙 1 和钥匙 2 按钮时会通过 axios 发送请求,在发送请求时需要在请求头中添加 Authorization 字段携带 token,token 的值为 2b58f9a8-…

五.java数组

1.int [] arr{1,2,3} 2.lenarr.length; 3.数组内存执行原理 java程序编译后产生一个class文件然后提交到内存中的虚拟机JVM中去运行,java为了便于虚拟机运行程序就将虚拟机的这块内存划分为5个区域:方法区,栈,堆。。。 经典函数…

Matlab快捷键与函数

注释:注释对于代码的重要性我们就不做过多的解释了。不做注释的代码不是好代码。选中要注释的语句,按快捷键CtrlR,或者在命令行窗口上面的注释地方可以进行注释。当然也可以直接在语句前面“%”就可以(注意:一定要用英文符号&…

BigDecimal类的使用,用于精确计算任意精度的数字

BigDecimal类 BigDecimal 是 Java 中用于精确表示任意精度的十进制数的类。在很多情况下,使用基本数据类型(如 double 或 float)进行浮点数计算可能会导致精度丢失或舍入错误。BigDecimal 提供了一种更精确的解决方案,可以处理需要高精度计算的场景,比如财务应用或科学计算…

29-3 哥斯拉安装使用

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、哥斯拉 (Godzilla) 介绍 哥斯拉是一个基于流量、HTTP全加密的webshell管理工具,具有以下特点: 内置了3种Payload以及6种加密器,6种支持脚本后缀,20个内置插件基于Java,可…

第十三届蓝桥杯省赛真题 Java B 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 星期计算试题 B: 山试题 C: 字符统计试题 D: 最少刷题数试题 E \mathrm{E} E : 求阶乘试题 F : \mathrm{F}: F: 最大子矩阵试题 G: 数组切分试题 H: 回忆迷宫试题 I: 红绿灯试题 J 拉箱子 发现宝藏 前些天发现了一个巨牛的人工智能学习…

仿muduo库实现one thread one loop式并发服务器

文章目录 一、项目简介 二、项目整体认识 2、1 HTTP服务器 2、2 Reactor模型 三、预备知识 3、1 C11 中的 bind 3、2 简单的秒级定时任务实现 3、3 正则库的简单使用 3、4 通用类型any类型的实现 四、服务器功能模块划分与实现 4、1 Buffer模块 4、2 Socket模块 4、3 Channel模…

【TD3思路及代码】【自用笔记】

1 组成(Target Network Delayed Training) Actor网络:这个网络负责根据当前的状态输出动作值。在训练过程中,Actor网络会不断地学习和优化,以输出更合适的动作。Critic网络:TD3中有两个Critic网络&#xff…

解决:springboot项目访问hdfs文件提示guava版本不兼容

1、问题描述 版本说明:我用的hadoop版本:3.1.3 项目可以正常启动,但是调用访问hdfs的服务时候报错,报错消息如下:com.google.common.base.preconditions.checkArgument(ZL java/lang/String;Ljava/lang/Object:)V 原因分析&#x…

力扣 字符串解码

维护一个放数字的栈&#xff0c;一个放字母的栈 遇到[把数字和字母入栈&#xff0c;遇到]把当前字母循环加上数字栈头遍的字母栈头 class Solution { public:string decodeString(string s) {string ans"";stack<int>sz;stack<string>zm;里面是string …

蓝桥杯(3.22 刷真题)

P8682 [蓝桥杯 2019 省 B] 等差数列 RE是因为除以0的情况 import java.util.Arrays; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] res new int[n1];for(int i1;i&l…

集合深入------理解底层。

集合的使用 前提&#xff1a;栈、堆、二叉树、hashcode、toString()、quesalus()的知识深入和底层理解。 1、什么是集合 集合就是咋们所说的容器 ​ 前面我们学习过数组 数组也是容器 ​ 容器&#xff1a;装东西的 生活中有多少的容器呀? 水杯 教室 酒瓶 水库 只要是…