在绘图axes旁边添加额外的colorbar的ax的方法(add_colorbar_axes)

article/2025/10/4 16:56:58

目的是在主axes中绘制图形时,需要在旁边新建colorbar,因为直接使用 fig.colorbar()
会直接占用主图的一部分区域,所以需要def几个解决这一问题的函数。

import matplotlib.pyplot as plt
import matplotlib as mpl
from psutil import cpu_count

首先引入所需包。

def add_box(ax, ls, color, alpha):'''用红框标出一个ax的范围.ax, ls, color, alpha'''axpos = ax.get_position()rect = mpl.patches.Rectangle((axpos.x0, axpos.y0), axpos.width, axpos.height,lw=3, ls=ls, ec=color, fc='none', alpha=alpha,transform=ax.figure.transFigure)ax.patches.append(rect)

定义函数为绘图区域添加带颜色边框。

def add_right_cax(ax, pad, width):'''在一个ax右边追加与之等高的cax.pad是cax与ax的间距.width是cax的宽度.'''axpos = ax.get_position()caxpos = mpl.transforms.Bbox.from_extents(axpos.x1 + pad,axpos.y0,axpos.x1 + pad + width,axpos.y1)cax = ax.figure.add_axes(caxpos)return caxdef add_up_cax(ax, pad, height):'''在一个ax上边追加与之等宽的cax.pad是cax与ax的间距.height是cax的宽度.往上是加'''axposition = ax.get_position()caxposition = mpl.transforms.Bbox.from_extents(axposition.x0,axposition.y1 + pad,axposition.x1,axposition.y1 + pad + height)cax = ax.figure.add_axes(caxposition)return caxdef add_down_cax(ax, pad, height):'''在一个ax上边追加与之等宽的cax.pad是cax与ax的间距.height是cax的宽度.'''axposition = ax.get_position()caxposition = mpl.transforms.Bbox.from_extents(axposition.x0,axposition.y0 - pad - height,axposition.x1,axposition.y0 - pad )cax = ax.figure.add_axes(caxposition)return cax

定义三个添加cax的函数,其中pad均为和主ax的间距,
另外,(x0,y0)指的是左下角的边界点(见下文);(x1,y1)指的是右上角的边界点(见下文)。

fig = plt.figure(1)
ax0 = fig.add_subplot(111)axposition = ax0.get_position()
print(axposition)
ax0.plot(axposition.x0,axposition.y0, '*')
ax0.text(axposition.x0+0.02,axposition.y0, '(x0,y0)')
ax0.plot(axposition.x1,axposition.y1, '*')
ax0.text(axposition.x1-0.05,axposition.y1-0.05, '(x1,y1)')

这里是在图中绘制出三个点的位置。

cax_0 = add_right_cax(ax0, pad=0.05, width=0.05)
cax_1 = add_down_cax(ax0, pad=0.08, height=0.05)
cax_2 = add_up_cax(ax0, pad=0.05, height=0.05)cax_1.minorticks_off()
cax_0.minorticks_off()
cax_2.minorticks_off()cax_0.set_yticklabels([])
cax_1.set_xticklabels([])
cax_2.set_xticklabels([])

添加三个cax区域。

add_box(ax=cax_0, ls='-', color='r', alpha=0.5)
add_box(ax=cax_1, ls='-.', color='b', alpha=0.5)
add_box(ax=cax_2, ls='--', color='m', alpha=0.5)plt.show()

为三个cax添加带颜色的box边框。

结果如图所示

add_cax


http://chatgpt.dhexx.cn/article/QuV0fZQX.shtml

相关文章

matlab colorbar的使用

http://hi.baidu.com/imheaventian/blog/item/82183058da63633a2834f0f7.html 1:请问matlab中画多张图如何使用同一范围的colorbar? 例如生成了图1,2,3 生成图1时,使用 temp1caxis; 将图1的z值的取值范围(即colorbar的取值范围&#xf…

python matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条

文章目录 自定义colorbar(draw colorbar without any mapple/plot)contourf函数为所有子图添加一个色带推荐色带与自定义色带 PS: 传送门——自定义Colorbars教程 自定义colorbar(draw colorbar without any mapple/plot) 参考&…

Matlab自制Colorbar(一)

目录 前言 一、寻找一张好看的配色图 二、保存待制作的Colorbar 三、利用代码读取并制作ColorMap 四、读入ColorMap画图 前言 在我们的日常科研生活中,能够用一张让人眼前一亮的图给同行展示自己的成果是非常重要的。而且,往往越高端的期刊对作图的要求也…

python colorbar设置label标签位置

colorbar简单设置方法 关于python中使用colorbar的方法已经有比较好的博文介绍,简单列举个人感觉比较好两个 colorbar方向 https://blog.csdn.net/weixin_43257735/article/details/121831188 colorbar颜色 https://blog.csdn.net/liuchengzimozigreat/article/det…

python 如何实现colorbar的标签位于每个色标中间(正下方)

前言 python实现colorbar标签的多样化显示 大部分文献中colorbar的色标都是如下图所示: 以80~100表示这个范围内数据为最显著的红色,其他范围内的各个色域类似 那么,如果我希望将最右边最红的区域定义为一个字幕,并使这个字母出…

MATLAB 矩阵数据可视化imagesc 以及 如何多图共用一个 colorbar

当遇到需要查看一个二维矩阵数据中值的大小分布情况时可以使用 MATLAB 把矩阵以图像的形式展现出来,这样更直观。MATLAB 的可视化函数之一是 imagesc( ),还有其他的方法,这里只介绍下 imagesc。 目录 1、单一作图 2、同时绘制多图并共用 c…

python 调节colorbar的大小,以及对colorbar的细节调节

参考链接1 这个很nice,对colorbar的调节很到位 添加colorbar的标题

matplotlib 配色之 colorbar 模块详解

matplotlib.colorbar 模块详解 引子 上一篇我们围绕colormap颜色映射,详细介绍了matplotlib.colors 和 matplotlib.cm模块。 使用matplotlib.colors模块可以完成大多数常见的任务。似乎很少需要直接使用matplotlib.cm模块。我们继续使用上一篇最后的例子来看看 m…

如何在matlab中设置colorbar

colorbar是matlab插值填色图的标尺,设置上下限和设置颜色是作图中基础的能力。 例如这张uha图,首先使用函数caxis([-1.2,2.2])编辑colorbar上下限,打开后右键颜色编辑器选择心怡的颜色。然后用下面的代码存储这种配色方式方便下次使用&#x…

matplotlib画图使用python可视化colorbar工具自定义颜色

python matplotlib画图使用colorbar工具自定义颜色 colorbar(draw colorbar without any mapple/plot) 自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已有的图(plot/mappable)。这里使用的是mp…

matplotlib 合理设置colorbar和子图的对应关系

matplotlib 合理设置colorbar和子图的对应关系 文章目录 matplotlib 合理设置colorbar和子图的对应关系1. 介绍2 plt.contourf ()2.1 错误示范2.2 使用 norm实现颜色和数值之间的对应关系2.3 只显示最后一个的colorbar2.4 使用 levels 参数设置 3. 使用plt.imshow()4 单独设置c…

matlab关于colorbar的整理(绘制不等间距colorbar, colorbar的大小位置调节, colorbar加单位等)

matlab关于colorbar的整理(绘制不等间距colorbar, colorbar的大小位置调节等 1. 绘制不等间距colorbar2. colorbar的大小位置调节3. 更改colorbar上的刻度、给colorbar加单位 对matlab关于colorbar的一些小细节进行整理,希望对一些人能够有所帮助~ 1. 绘制不等间距c…

matlab中的colorbar用法(显示色阶的颜色栏)

原文 matlab画平面分布图时colorbar的设置是非常重要的,好的colorbar不仅使图像更美观,而且能够使人更容易捕捉图上传递的信息。用过matlab的同学都知道matlab默认的colormap是jet, 也就是你画完图后输入“colorbar” 它所显示出来的颜色。此外&#xff…

Matlab的图像操作——colorbar的各项细节操作

最近在论文中用matlab生成高度场,网上搜了很多,自己做一个小小的总结。 首先,如果想在生成的图片中加上colorbar,有两种方式: 1:在生成的Figure图像的菜单栏: Insert—Colorbar, 或者单击上方快捷区添加colorbar,见下图: 2:命令行直接写上 colorbar; 如果想随意指定…

Matplotlib 系列:colorbar 的设置

转载于:Matplotlib 系列:colorbar 的设置 该文为我很及时的解决了我的烦恼,再次向作者致意~ 作者一直在持续更新python系列,请支持原作者,文章来源:炸鸡人博客 0. 前言 承接 Matplotlib 系列&#xff1a…

Chrome谷歌浏览器,清除css或js文件缓存的方法

在写网站首页界面的时候&#xff0c;css文件中给新建的<div>增加了class类的样式&#xff0c;但是无论怎样刷新都没有这个样式的效果。 F12打开开发模式&#xff0c;对比这个<div>与其他的区别&#xff0c;发现右下角的尺寸图中没有position的值&#xff0c;而pos…

浏览器-清理页面中js的缓存

【问题分析】 修改完 js文件中的代码后&#xff0c;页面刷新好几次并没有重新加载 js的文件&#xff0c;开始以为是文件设置没有修改成功&#xff0c;后来想到应该是浏览器对于 js文件的缓存机制引起的。 【解决方案】 清理浏览器的缓存 1.按“F12” 或者 右键单击页面“检查”…

js 浏览器缓存机制

什么是浏览器缓存 Web缓存是指一个Web资源&#xff08;如html页面&#xff0c;图片&#xff0c;js&#xff0c;数据等&#xff09;存在于Web服务器和客户端&#xff08;浏览器&#xff09;之间的副本。缓存会根据进来的请求保存输出内容的副本&#xff1b;当下一个请求来到的时…

哈希表和红黑树

哈希表 哈希表顾名思义是一张表&#xff0c;可以用它来存储键值对这种对应的数据&#xff0c;大家都知道&#xff0c;哈希表的查找速度很快&#xff0c;时间复杂度伪O(1)&#xff0c;那么它的查找速度为什么很快呢&#xff1f;   实际上&#xff0c;哈希表将键值变为数组的下…