【python绘图colorbar对齐】

@[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 + Yfig=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.mzph.cn/news/763986.shtml

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

相关文章

数据库范式--一起学习吧之数据库

一、数据库范式分类 数据库范式是关系数据库中的关系必须满足的规范化要求,主要用于减少数据冗余、提高数据的一致性和完整性。目前数据库范式主要有六种,从低到高依次是:第一范式(1NF)、第二范式(2NF&…

《妈妈是什么》笔记(二) 让孩子自己做选择

经典摘录 孩子也会需要独立的空间做事情,求独立、求空间、求私隐 对于不管因为什么,别人在受到肯定和赞赏的时候,会对我们自己的心理带来因“比较”而产生的不适感甚至嫉妒感,进而在行为上影响了我们自己的节奏,产生一…

如何系统地自学Python

如何系统地自学Python 大家好!今天,我要和大家聊聊一个老生常谈但又永不过时的话题——如何系统地自学Python。Python,这个既简单又强大的编程语言,已经成为许多初学者入门编程的首选。但问题来了,面对海量的学习资源…

【智能计算系统】神经网络基础代码实现

参考课程:智能计算系统 神经网络中常见的组成部分有:全连接层,激活函数,Softmax层。 全连接层 全连接层输入为一维向量(维度为m),输出为一维向量(维度为n)。前向传播的…

ThingsBoard初始化数据库Postgres+Cassandra

本章将介绍ThingsBoard初始化数据PostgresCassandra,两种数据库结合使用,以及源码的编译安装。本机环境:Centos7、Docker、Postgres、Cassandra 环境安装 开发环境要求: docker ;Docker;Postgres:Cassandr…

Qwen及Qwen-audio大模型微调项目汇总

Qwen及Qwen-audio可微调项目调研 可用来微调方法/项目汇总ps.大语言模型基础资料 可用来微调方法/项目汇总 Qwen github 项目自带的finetune脚本 可以参考https://blog.csdn.net/qq_45156060/article/details/135153920PAI-DSW中微调千问大模型(阿里云的一个产品&a…

maven archetype 和普通的maven有啥区别

Maven是一个项目管理和构建自动化工具,主要用于Java项目,它基于项目对象模型(POM)。Maven可以通过其POM文件管理项目的构建、报告和文档。 而Maven Archetype是Maven的一个插件,主要用于为用户创建基于某个模版的新项…

Django日志(一)

一、概念与配置 1.1、概述 日志是程序员经常在代码中使用快速和方便的调试工具。它在调试方面比print更加的优雅和灵活 而且日志记录对于调试很有用,可以提供更多,更好的结构化,有关应用程序的状态和运行状况的信息 Django框架的日志通过python内置的logging模块实现的,可…

TCP TLS

TCP(传输控制协议)是一种面向连接的协议,用于在网络上可靠地传输数据。它提供了数据分段、重传、流量控制和拥塞控制等功能,以确保数据的可靠传输。TCP在传输层上工作,它使用IP(Internet协议)作…

LeetCode2671. Frequency Tracker

文章目录 一、题目二、题解 一、题目 Design a data structure that keeps track of the values in it and answers some queries regarding their frequencies. Implement the FrequencyTracker class. FrequencyTracker(): Initializes the FrequencyTracker object with …

前端视角如何理解“时间复杂度O(n)”

定义 时间复杂度是O(n) 意味着算法的执行时间与输入数据的大小成正比。 这里的n表示输入数据的数量。 假设有一个数组,需要遍历这个数组并打印出每个元素的值。 这个操作的时间复杂度就是O(n),因为你需要执行n次操作,其中n是数组的长度。 …

力扣由浅至深 每日一题.11 加一

少年气,是历经千帆举重若轻地沉淀,也是乐观淡然笑对生活的豁达 —— 24.3.22 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以…

IPC通信--socket

1.windows环境 在C中,Windows环境下实现socket通信的客户端与服务端的流程如下: 创建套接字:使用socket()函数创建一个套接字。绑定套接字:使用bind()函数将套接字与一个地址(IP和端口)绑定在一起。监听连…

基于Gabor滤波器的指纹图像识别,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

2024年【山东省安全员C证】考试试卷及山东省安全员C证复审模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 山东省安全员C证考试试卷是安全生产模拟考试一点通生成的,山东省安全员C证证模拟考试题库是根据山东省安全员C证最新版教材汇编出山东省安全员C证仿真模拟考试。2024年【山东省安全员C证】考试试卷及山东省…

一个线程可以有几个Handler,几个Looper,几个MessageQueue对象?

一个线程可以有多个Handler,但是只有一个Looper对象,只有一个MessageQueue对象。 在Looper的prepare方法中创建了Looper对象,并放入到ThreadLocal中,并通过ThreadLocal来获取looper的对象, ThreadLocal的内部维护了一个ThreadLocalMap类, 里…

【Linux】信号的处理{信号处理的时机/了解寄存器/内核态与用户态/信号操作函数}

文章目录 0.对于信号捕捉的理解1.信号处理的时机1.1 何时处理信号?1.2 内核态和用户态1.3 内核态和用户态的切换 2.了解寄存器3.信号捕捉的原理4.信号操作函数4.1sighandler_t signal(int signum, sighandler_t handler);4.2int sigaction(int signum, const struct…

express+mysql+vue,从零搭建一个商城管理系统15--快递查询(对接快递100)

提示:学习express,搭建管理系统 文章目录 前言一、安装md5,axios二、新建config/logistics.js三、修改routes/order.js四、查询物流信息五、试错与误区总结 前言 需求:主要学习express,所以先写service部分 快递100API…

工业项目中你连DCS系统都没见过?

什么是DCS DCS,即分散控制系统,是一种用于监控和控制工业过程的系统。它通过连接多个控制器、传感器和执行器实现自动化控制,提高生产效率和安全性。在中国,随着工业化和自动化水平的提高,DCS技术得到了广泛应用和快速…

创建Message对象的方式及区别?Message.obtain()怎么维护消息池 ?Handler 有哪些发送消息的方法?

Message对象创建的方式有哪些, 区别? 直接new一个obtain()方法获取handler.obtainMessage()方法获取。 下面两个方式是从对象池中获取,可以避免message对象重复的创建。 Message.obtain()怎么维护消息池的Handler &…