解决python画图中colorbar设置刻度和标签字体大小

article/2025/10/4 17:07:27
  1. 介绍
    python很火,因为有各种库的支持,所以功能格外强大。在可视化方面,目前用得较多的是matplotlib.
    在基于matplotlib.pyplot画带色标(colorbar)的图时候,往往为了美观和科研用途,需要对colorbar的Ticks(刻度) ,标签(label)和fonddict(字体进行设置)。但是很多初学者都苦于这些东西的设置,因为太麻烦了(别问我怎么知道的)。以下将介绍有用的方法来解决这些问题。
import matplotlib.pyplot as plt
  1. 解决问题

下面将分两种情况来进行介绍

情况1:当colorbar在需要额外指定时(即不能自动生成)。
这种情况最为常见。如 plt.contourf ,plt.imshow, 等。即就是先基于plt.contourf生成图后,再获取该图的句柄,再设置colorbar。画主图和colorbar是两个语句。
还是举个例子吧

  • List item
import numpy as np
import matplotlib.pyplot as plt
#设置一个随机种子,
#生成固定数值的随机整数数组
seed=np.random.seed(42)
data=np.random.randint(0,10,size=(10,10))fig=plt.figure(figsize=(10,8))
#这就是所谓的第一种情况哦
h=plt.contourf(data)
cb=plt.colorbar(h)

生成的图如下所示
在这里插入图片描述

  • List item

我们设置一下主图的横纵坐标的刻度字体大小

plt.xticks(fontsize=16)
plt.yticks(fontsize=16)

在这里插入图片描述
看,在这种情况下,色标的刻度大小与主图的刻度大小不符合,这是完全不符合一个合格的程序员的审美的。因此需要更改colorbar刻度字体大小。

  • List item
fig=plt.figure(figsize=(10,8))
#这就是所谓的第一种情况哦
h=plt.contourf(data)
cb=plt.colorbar(h)
cb.ax.tick_params(labelsize=16)  #设置色标刻度字体大小。
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
font = {'family' : 'serif','color'  : 'darkred','weight' : 'normal','size'   : 16,}
cb.set_label('colorbar',fontdict=font) #设置colorbar的标签字体及其大小

在这里插入图片描述
这个图是不是漂亮多啦

  • List item

当你想改变colorbar刻度数值大小时,可以采用cb.set_ticks, cb.set_ticklabels
当然你也可以获取其刻度大小,可以用cb.get_ticks。还有cb.get_cmap可以获取颜色属性。

  • List item
    当你需要进行其他操作,如设置颜色,大小限制什么的,可以自己随意上手。

在这里插入图片描述

综上,最重要的一句是 cb.ax.tick_params(labelsize=16)。其他的属性也可以 用 cb.ax.+table键进行查看。

情况2:当colorbar可以在生成主图时就自动生成时
这种情况在生成热图时较为常见。
可以用seaborn来生成热图(heatmap)

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
seed=np.random.seed(42)
data=np.random.randint(0,10,size=(10,10))fig=plt.figure(figsize=(10,8)) 
h=sns.heatmap(data, annot=True,fmt='d',linewidths=0.5)  

生成图如下:
在这里插入图片描述
heatmap的各个参数介绍可见如下链接:
http://seaborn.pydata.org/generated/seaborn.heatmap.html
https://blog.csdn.net/sunchengquan/article/details/78573244
https://blog.csdn.net/m0_38103546/article/details/79935671
heatmap参数中,默认cbar=True,即默认画出colorbar,其中cbarkws为一个字典, 可以用来设置colorbar的一些属性,包括 thrink, orentation等 。但是我没有找到cbrkws可以设置哪些属性以及怎么设置。
因此这里不利用cbrkws进行colorbar设置。

在这里插入图片描述

fig=plt.figure(figsize=(10,8))    
h=sns.heatmap(data, annot=True,fmt='d',linewidths=0.5,cbar=False) #设置不使用其默认自带的colorbar
cb=h.figure.colorbar(h.collections[0]) #显示colorbar
cb.ax.tick_params(labelsize=16) #设置colorbar刻度字体大小。
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)

在这里插入图片描述
其他如标签和刻度范围和色标的操作同第一种情况。

参考链接:
https://blog.csdn.net/henkekao/article/details/72864564
https://stackoverflow.com/questions/37233108/seaborn-change-font-size-of-the-colorbar
https://stackoverflow.com/questions/34820239/seaborn-heatmap-colorbar-label-as-percentage


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

相关文章

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

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

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;当下一个请求来到的时…