当前位置: 首页 > news >正文

【python绘图—colorbar操作学习】

文章目录

  • 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

相关文章:

【python绘图—colorbar操作学习】

文章目录 Colorbar的作用Colorbar的操作截取cmap拼接cmap双刻度列colorbar 引用 Colorbar的作用 Colorbar(颜色条)在绘图中的作用非常重要,它主要用于以下几个方面: 表示数据范围: Colorbar可以显示图中的颜色映射范围…...

Python+Appium自动化测试-编写自动化脚本

之前已经讲述怎样手动使用appium-desktop启动测试机上的app,但我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 Python3.7 appium1.18.0 Android手机 今日头条…...

AMEYA360|ROHM罗姆首次推出硅电容器BTD1RVFL系列

全球知名半导体制造商ROHM(总部位于日本京都市)新开发出在智能手机和可穿戴设备等领域应用日益广泛的硅电容器。利用ROHM多年来积累的硅半导体加工技术,新产品同时实现了更小的尺寸和更高的性能。 随着智能手机等应用的功能增加和性能提升,业界对于支持更…...

Linux发散小知识

linux/unix哲学:KISS Keep It Simple and Stuid。 "提供一套机制,而不是策略",“万般皆文本,四处用脚本” unix的数据流追求简单化、通用性、可视性、设备无关,二进制肯定无法做到这些,因此文本…...

GTS 中testPeakPssOfAllApps fail 详解

0. 前言 GTS 在测试 case armeabi-v7a GtsMemoryHostTestCases 的时候出现下面异常,本文总结一下。 com.google.android.memory.gts.AllAppsMemoryHostTest#testPeakPssOfAllApps 1. error log 09-14 10:16:34 I/TestFailureListener: FailureListener.testFaile…...

linux查看远程仓库的分支

在 Linux 终端中&#xff0c;您可以使用 git 命令来查看远程仓库的分支。git 是版本控制系统&#xff0c;用于管理代码的版本和协作开发。以下是查看远程仓库分支的方法&#xff1a; 查看所有远程分支&#xff1a; git ls-remote <remote_repository_url> 这个命令会显示…...

【Linux常用命令】

编程不良人 Linux 笔记 一、防火墙相关 1、查看防火墙状态 systemctl status flrewalld2、如果防火墙是开启状态的&#xff0c;需要关闭 systemctl stop firewalld3、永久行关闭操作&#xff08;禁止开机自启动&#xff09; 因为防火默认是开启状态的&#xff0c;如果只是手…...

QString类与整型,浮点数互转

本文介绍QString类与整型&#xff0c;浮点数之间的相互转换。 1.QString类转整型 QString类转整型&#xff08;包含2进制&#xff0c;8进制&#xff0c;16进制&#xff09;&#xff0c;可以使用QString的toInt()函数。 QString str("1234"); bool bOK false; int…...

基于STM32F407ZET6的环境温湿度监控系统(粤嵌GEC-M4)

注意使用事项&#xff1a; 开发板如下 由于外部晶振是8M&#xff0c;需要修改setup和stm32f4头文件的晶振值。 操作如下&#xff1a; system_stm32f4xx.c的254行 #define PLL_M 8stm32f4xx.h的127行 #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the Ex…...

2023年五一杯数学建模A题无人机定点投放问题求解全过程论文及程序

2023年五一杯数学建模 A题 无人机定点投放问题 原题再现&#xff1a; 随着科学技术的不断发展&#xff0c;无人机在许多领域都有着广泛的应用。对于空中执行定点投放任务的无人机&#xff0c;其投放精度不仅依赖于无人机的操作技术&#xff0c;而且还与无人机执行任务时所处状…...

Redis 7 第九讲 微服务集成Redis 应用篇

Jedis 理论 Jedis是redis的java版本的客户端实现&#xff0c;使用Jedis提供的Java API对Redis进行操作&#xff0c;是Redis官方推崇的方式&#xff1b;并且&#xff0c;使用Jedis提供的对Redis的支持也最为灵活、全面&#xff1b;不足之处&#xff0c;就是编码复杂度较高。 …...

c++day7

仿照vector手动实现自己的myVector&#xff0c;最主要实现二倍扩容功能 #include <iostream>using namespace std; template <typename T> class Myvector { private:T *start;//起始指针T *end;//数组末尾指针T *last;//数组有效长度的尾指针 public://定义无参构…...

C++学习概述

1.c 为啥需要头文件 如果您刚开始使用 C&#xff0c;您可能想知道为什么C需要 #include 头文件&#xff0c;以及为什么一个程序要拥有多个 .cpp 文件。 原因很简单&#xff1a; a) 减少编译时间 随着程序的增长&#xff0c;您的代码也会增长&#xff0c;如果所有内容都在一个…...

关系型数据库和非关系型数据库

关系型数据库和非关系型数据库 关系型数据库非关系型数据库 非关系型数据库和关系型数据库是两种不同类型的数据库管理系统&#xff0c;它们用于存储和管理数据&#xff0c;但在数据组织和处理方式上有一些重要的区别。 关系型数据库 1.结构化数据存储&#xff1a;关系型数据库…...

基于SSM的快餐店点餐服务系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

使用vcpkg配置CGAL+visual studio 2022

先安装vcpkg C:\dev> git clone https://github.com/microsoft/vcpkg C:\dev> cd vcpkg C:\dev\vcpkg> .\bootstrap-vcpkg.bat 运行后&#xff0c;先执行 C:\dev\vcpkg> .\vcpkg.exe install yasm-tool:x86-windows 这是因为gmp库中有个bug&#xff0c;只能这样…...

【Spring面试】三、Bean的配置、线程安全、自动装配

文章目录 Q1、什么是Spring Bean&#xff1f;和对象有什么区别Q2、配置Bean有哪几种方式&#xff1f;Q3、Spring支持的Bean有哪几种作用域&#xff1f;Q4、单例Bean的优势是什么&#xff1f;Q5、Spring的Bean是线程安全的吗&#xff1f;Q6、Spring如何处理线程并发问题&#xf…...

flink连接kafka报:org.apache.kafka.common.errors.TimeoutException

测试flink1.12.7 连接kafka&#xff1a; package org.test.flink;import org.apache.flink.api.common.serialization.SimpleStringSchema; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutio…...

sql order by 排序 null值放最后,怎么写

在 SQL 中&#xff0c;可以使用 ORDER BY 子句对结果进行排序。如果要将 NULL 值放在最后&#xff0c;可以在排序列中使用 CASE 表达式来处理。 下面是一个示例查询&#xff0c;将 NULL 值放在最后进行排序&#xff1a; SELECT column1, column2 FROM your_table ORDER BY CAS…...

HDMI字符显示实验

FPGA教程学习 第十五章 HDMI字符显示实验 文章目录 FPGA教程学习前言实验原理程序设计像素点坐标模块字符叠加模块 实验结果知识点总结 前言 在HDMI输出彩条的基础上输出osd叠加信息。 实验原理 实验通过字符转换工具将字符转换为 16 进制 coe 文件存放到单端口的 ROM IP 核…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...