【python绘图—colorbar操作学习】

news2024/11/25 19:45:58

文章目录

  • Colorbar的作用
  • Colorbar的操作
    • 截取cmap
    • 拼接cmap
    • 双刻度列colorbar
  • 引用

Colorbar的作用

Colorbar(颜色条)在绘图中的作用非常重要,它主要用于以下几个方面:

  • 表示数据范围: Colorbar可以显示图中的颜色映射范围,帮助理解图中不同颜色所代表的数据范围。例如,在热力图中,不同的颜色可能表示不同的温度值,颜色条可以告诉哪种颜色对应哪个温度值。
  • 数据解释: Colorbar可以提供关于颜色和数据之间的映射关系的信息。可以通过查看颜色条来了解不同颜色在图中代表的数据值。
  • 数据分布: 颜色条可以帮助理解数据的分布情况。例如,颜色条中的颜色分布越均匀,表示数据在整个范围内都有分布。

Colorbar的操作

截取cmap


import numpy as np                                                            
import matplotlib as mpl                                                         
import matplotlib.pyplot as plt                                                  
from matplotlib.colors import ListedColormap                                   
cmap=mpl.cm.jet_r          #获取色条    

# print(cmap._segmentdata)                                                
newcolors=cmap(np.linspace(0,1,256))  #分片操作           
# print(newcolors)                      
newcmap=ListedColormap(newcolors[125:]) #切片取舍          
# print(newcmap)                        
fig=plt.figure(figsize=(1.5,0.3),dpi=500)                                  
ax1=fig.add_axes([0,0,1,0.45])                                                 
ax2=fig.add_axes([0,1,1,0.45])                                              
norm =mpl.colors.Normalize(vmin=0, vmax=10)                                
fc1=fig.colorbar(mpl.cm.ScalarMappable(norm=norm,cmap='jet_r'),              
                 cax=ax1,                                                      
                 orientation='horizontal',                                                         
                 extend='both')                                                                    
fc2=fig.colorbar(mpl.cm.ScalarMappable(norm=norm,cmap=newcmap),                                            
                 cax=ax2,                                                      
                 orientation='horizontal',                                         
                 extend='both')                                                 
for i in [fc1,fc2]:                                                           
    i.ax.tick_params(labelsize=3,width=0.5,length=0.5)                           
    i.outline.set_linewidth(0.5)      

在这里插入图片描述

拼接cmap


import numpy as np                                                        
import matplotlib as mpl                                                       
import matplotlib.pyplot as plt                                                        
from matplotlib.colors import ListedColormap                                 
import cmaps                                                                    
plt.rcParams['font.sans-serif']=['FangSong']         
plt.rcParams['font.size']=18                 
cmap1=cmaps.spread_15lev_r                                                   
cmap2=cmaps.sunshine_diff_12lev                                                
list_cmap1=cmap1(np.linspace(0,1,15))                                      
list_cmap2=cmap2(np.linspace(0,1,12))                                           
new_color_list=np.vstack((list_cmap1,list_cmap2))                            
new_cmap=ListedColormap(new_color_list,name='new_cmap ')                                                                      
fig=plt.figure(figsize=(6,3))                                        
ax1=fig.add_axes([0,0,1,0.15])                                                 
ax2=fig.add_axes([0,0.3,1,0.15])                                            
ax3=fig.add_axes([0,0.6,1,0.15])                                              
norm =mpl.colors.Normalize(vmin=0, vmax=10)                              
fc1=fig.colorbar(mpl.cm.ScalarMappable(norm=norm,                            
                 cmap=cmap1),cax=ax1,                                     
                 orientation='horizontal',extend='both')                       
fc2=fig.colorbar(mpl.cm.ScalarMappable(norm=norm,                      
                 cmap=cmap2),cax=ax2,                                      
                 orientation='horizontal',extend='both')                    
fc3=fig.colorbar(mpl.cm.ScalarMappable(norm=norm,                         
                 cmap=new_cmap),cax=ax3,                                
                 orientation='horizontal',extend='both') 
for i in [fc1,fc2,fc3]:                                                           
    # i.ax.tick_params(labelsize=20,width=0.01,length=1)                           
    i.outline.set_linewidth(0.5)

在这里插入图片描述

双刻度列colorbar

import numpy as np                                                            
import matplotlib as mpl                                                         
import matplotlib.pyplot as plt                                                  
import matplotlib.colors as mcolors                                               
plt.rcParams['font.sans-serif']=['Times New roman']                                  
##第一步,制作雨量色条                                                       
fig=plt.figure(figsize=(1.5,0.2),dpi=500)                                        
ax=fig.add_axes([0,0,1,0.5])                                                 
colorlevel=[0.1,10.0,25.0,50.0,100.0,250.0,500.0]                        #雨量等级               
colordict=['#A6F28F','#3DBA3D','#61BBFF','#0000FF','#FA00FA','#800040']  #颜色列表                                                                     
cmap=mcolors.ListedColormap(colordict)                                   #产生颜色映射                    
norm=mcolors.BoundaryNorm(colorlevel,cmap.N)                             #生成索引                       
fc=fig.colorbar(mpl.cm.ScalarMappable(norm=norm,cmap=cmap),                
             cax=ax,orientation='horizontal',extend='both')                   
fc.ax.tick_params(which='major',labelsize=3,direction='out',width=0.5,length=1)                           
fc.outline.set_linewidth(0.3)        

##第二步,生成双刻度列##                                                      
ax2=fc.ax                                                #召唤出fc的ax属性并省称为ax2,这时ax2即视为一个子图            
ax2.xaxis.set_ticks_position('top')                      #将数值刻度移动到上边                        
ax2.tick_params(labelsize=3,top=True,width=0.5,length=1) #修改刻度式,并使上有刻度


ax3=ax2.secondary_xaxis('bottom')                                                                           
ax3.tick_params(labelsize=3,width=0.5,length=1)                              
ax3.spines['bottom'].set_bounds(0.1,500)                  #截去多余的部分                         
ax3.set_xticks([40,120,210,290,380,460])                                   
ax3.set_xticklabels(['小雨','中雨','大雨','暴雨','大暴雨','特大暴雨'], fontname="youyuan", fontweight='bold')                    
ax3.spines['bottom'].set_linewidth(0.3)                    #修改底部到框线粗细

在这里插入图片描述

引用

参考资料:https://mp.weixin.qq.com/s/KeRRApCk3qhbRsOvD_7jng

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

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

相关文章

基于PHP的医药博客管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的医药博客管理系统 一 介绍 此医药博客系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。用户可注册登录,查看/评论/搜索博客,建议留言。管理员可对用户&a…

uni-app:单页面的页面切换

效果 代码 <template><view><view class"tab-bar"><text class"tab" :class"{ active: activeTab 0 }" click"changeTab(0)">页面1</text><text class"tab" :class"{ active: acti…

【SpringCloud微服务全家桶学习笔记-服务注册zookeeper/consul】

SpringCloud微服务全家桶学习笔记 Eureka服务注册 gitee码云仓库 9.其他服务注册框架 &#xff08;1&#xff09;zookeeper安装与使用 zookeeper需安装在虚拟机上&#xff0c;建议使用CentOS&#xff0c;安装地址如下&#xff1a; zookeeper镜像源 选择第一个进入后下载ta…

文本直接生成20多种背景音乐,免费版Stable Audio来了!

9月14日&#xff0c;著名开源平台Stability AI在官网发布了&#xff0c;音频生成式AI产品Stable Audio。&#xff08;免费使用地址&#xff1a;https://www.stableaudio.com/generate&#xff09; 用户通过文本提示就能直接生成摇滚、爵士、电子、嘻哈、重金属、民谣、流行、朋…

java复习-线程的同步和死锁

线程的同步和死锁 同步问题引出 当多个线程访问同一资源时&#xff0c;会出现不同步问题。比如当票贩子A&#xff08;线程A&#xff09;已经通过了“判断”&#xff0c;但由于网络延迟&#xff0c;暂未修改票数的间隔时间内&#xff0c;票贩子B&#xff08;线程B&#xff09;…

2023全新云渲染测评!效果图渲染哪个平台性价比更高?

&#xfeff; 近期我们的青团平台全新上线了&#xff01;“青团平台”是专为效果图渲染用户量身打造的全新云渲染平台。目前平台活动力度很大&#xff0c;充值后单图最高优惠低至2元封顶&#xff0c;非常具有性价比。接下来&#xff0c;我将对比我们的青团平台和另外两个平台&…

远程桌面工具

PRemoteM 是一款现代的远程会话管理和启动器&#xff0c;它让你能够在任何时候快速开启一个远程会话。目前 PRemoteM 已支持 微软远程桌面(RDP)、VNC、SSH、Telnet、SFTP, FTP, RemoteApp等协议。 图片 1 PRemoteM 简介 如果你远程连接windows桌面仍旧在使用winR&#xff0c;输…

tensorflow cuda gpu 安装

Windows 安装 CUDA/cuDNN 需要注意的是一定要选择 TensorFlow 和 CUDA相匹配&#xff0c;还需要查看下自己GPU的驱动版本&#xff0c;如果不匹配会出现很多问题。GPU驱动的版本可在 NVIDIA控制面板里找到&#xff1a; CUDA个版本与驱动的关系如下&#xff1a; GPU版本的 Tensor…

陷波器设计

中心频率 f c H z f_c \rm Hz fc​Hz 3dB陷波器带宽 f b H z f_b \rm Hz fb​Hz 陷波器深度 d d d 倍&#xff0c;即 20 log ⁡ ( d ) d B 20\log(d) \rm dB 20log(d)dB 则 B 2 π f b ω n 2 π f c \begin{aligned} B &2\pi f_b \\ \omega_n & 2\pi f_c \end…

「中秋来袭」没想到,用OpenCV竟能画出这么漂亮的月饼「附源码」

一、前言 中秋佳节即将来临&#xff0c;作为传统的中国节日之一&#xff0c;人们除了品尝美味的月饼、赏月外&#xff0c;还喜欢通过绘画来表达对这个节日的喜悦和祝福。而如今&#xff0c;随着科技的不断发展&#xff0c;竟然可以借助计算机视觉库OpenCV来绘制精美的月饼和可…

Flutter的oktoast插件详解

文章目录 简介详细介绍安装和导入导入在MaterialApp外面套一层OKToast组件为什么是包住MaterialApp&#xff1f; 显示Toast消息&#xff1a; 高级使用Toast位置Toast持续时间自定义Toast样式高级用法 使用场景提示消息表单验证操作反馈网络请求状态调试信息小结 总结 简介 okt…

剑指offer刷题笔记 开端

剑指offer刷题笔记 文章目录 剑指offer刷题笔记注意内容 时间复杂度C 语法知识补充&#xff1a;优先级new 和 delete树的遍历 算法模板string类判断字符串为空归并递归整数二分算法模板 注意内容 map 是 O(logn) &#xff0c;底层实现是平衡树&#xff0c;unorder_map 是 O(1)…

Thinkphp6 配置并使用redis图文详解 小皮面板

这篇文章主要介绍了Thinkphp6 配置并使用redis的方法,结合实例形式详细分析了Redis的安装、配置以及thinkphp6操作Redis的基本技巧,需要的朋友可以参考下 一、安装redis ThinkPHP内置支持的缓存类型包括file、memcache、wincache、sqlite。ThinkPHP默认使用自带的采用think\Ca…

zabbix监控多实例redis

Zabbix监控多实例Redis 软件名称软件版本Zabbix Server6.0.17Zabbix Agent5.4.1Redis6.2.10 Zabbix客户端配置 编辑自动发现脚本 vim /usr/local/zabbix/scripts/redis_discovery.sh #!/bin/bash #Fucation:redis low-level discovery #Script_name redis_discovery.sh red…

软件外包开发原型图工具

国内有一些原型图管理工具&#xff0c;这些工具旨在帮助团队创建、协作和管理应用程序的原型图。以下是一些国内的原型图管理工具及其特点&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.墨刀&…

学习视觉SLAM需要会些什么?

前言 SLAM是现阶段很多研究生的研究方向&#xff0c;我也是作为一个即将步入视觉SLAM的研究生&#xff0c;网上对于SLAM的介绍很多&#xff0c;但很少有人完整系统的告诉你学习视觉SLAM该有那些基础&#xff0c;那么此贴将告诉你学习SLAM你要有那些方面的基础。 文章目录 前言…

在Linux上利用宝塔面板搭建网站,并通过内网穿透方便地实现公网访问

文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 前言 宝塔面板作为简单好用的服务器运维管理面板&#xff0c;它支持Linux/Windows系统&#xff0c;我们可用它来一键配置LAMP/LNMP环境、网站、数据库、FTP等&…

大数据课程M2——ELK的ELASTICSEARCH概述

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解ELK的ELASTICSEARCH概括; ⚪ 掌握ELK的ELASTICSEARCH核心概念; 一、ELASTICSEARCH概括 1. ES安装和启动 注意:如果使用达内云主机,无需安装es,直接配置yml启动即可。 1. 安装 下…

普中51-蜂鸣器实验

蜂鸣器实验 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成&#xff0c;当接通电源后&#xff08;1.5~15V 直流工 作电压&#xff09;&#xff0c;多谐振荡…

量化INT8模型报错记录及解决方案

基于C将onnx 模型 转 TensorRT 模型&#xff08;int8&#xff09; 部分命令如下&#xff1a; config->setFlag(nvinfer1::BuilderFlag::kINT8); ICudaEngine* engine builder->buildEngineWithConfig(*network, *config); 出现以下报错&#xff1a; Error Code 4: I…