前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这种两个Colorbar的图形怎么绘制?这样做真的超简单...

这种两个Colorbar的图形怎么绘制?这样做真的超简单...

作者头像
DataCharm
发布2024-05-11 18:15:54
1060
发布2024-05-11 18:15:54
举报
  • 前言

  • 一、「绘图技巧」 :如何在同一个图形上显示两个colorbar
  • 二、可视化学习圈子是干什么的?
  • 三、系统学习可视化
  • 四、猜你喜欢

前言

我们的数据可视化课程已经上线啦!!目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!

我们第一个数据可视化交流圈子也已经上线了,主要以我的第一本书籍《科研论文配图绘制指南-基于Python》为基础进行拓展,提供「课堂式」教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~

参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。

「绘图技巧」 :如何在同一个图形上显示两个colorbar

今天我们的学员交流群里有人咨询:

如何在一个图形中同时显示两个Colorbar?特别是在绘制地图的时候。

其实,这个技巧在我们课程新增的案例里就有类似的内容,今天就Python语言中Matplotlib工具,简单给大家介绍下,同时绘制两个colorbar的绘图技巧

Matplotlib 两个Colorbar添加

在Matplotlib中,绘制两个甚至多个colorbar的核心技巧可以总结为以下两点:

  1. 绘制colorbar位置部分
  2. 使用fig.colorbar()函数映射正确的数值和绘图对象
  • 绘制colorbar位置部分

这一个操作一般都是使用Matplotlib中画布对象fig的*add_axes()*,

该函数的主要作用是Matplotlib中用于在图形(Figure)上添加新的坐标轴(Axes)的方法之一。它允许你在图形上创建一个新的坐标轴,并指定它的位置和大小。

该函数的基本语法如下:

代码语言:javascript
复制
fig.add_axes(rect, projection=None, polar=False, **kwargs)

其中:

  1. rect:一个四元组(left, bottom, width, height),用于指定新坐标轴的位置和大小。这些值的范围是[0, 1],分别表示相对于图形的左下角的位置和相对于图形大小的比例。
  2. projection:指定新坐标轴的投影类型,例如,'3d'表示三维坐标轴,'polar'表示极坐标轴等。默认为None,表示常规的笛卡尔坐标轴。
  3. polar:布尔值,指定是否创建极坐标轴。默认为False。
  4. **kwargs:其他关键字参数,用于传递给Axes对象的构造函数。
  • 使用fig.colorbar()函数映射正确的数值和绘图对象

fig.colorbar()函数是Matplotlib中用于在图形(Figure)上添加色条(colorbar)的方法。色条是一种可视化工具,通常用于表示某种颜色映射(colormap)和数据值之间的关系,基本语法为:

代码语言:javascript
复制
fig.colorbar(mappable, cax=None, ax=None, **kwargs)

其中:

  1. mappable: 需要创建色条的可映射对象(例如,返回图像或集合的绘图对象,如 imshow() 或 scatter() 的结果)。
  2. cax: 如果指定,将在这个预定义的坐标轴上创建色条。
  3. ax: 如果指定,将色条关联到此轴上。
  4. **kwargs: 其他关键字参数,用于定制色条的外观和行为。

可以看出,我们在fig.colorbar()函数cax参数指定为刚刚新建立的坐标轴(Axes)对象,就可以在画布Figure对象上的任何位置上添加Colorbar对象了。

我们列举一个案例,如下:

代码语言:javascript
复制
import numpy  as np
import matplotlib.pyplot as plt

# 生成一些随机数据作为示例
data1 = np.random.rand(10, 10)
data2 = np.random.rand(10, 10)

# 创建地图
fig, ax = plt.subplots()

# 绘制第一个数据集的地图和colorbar
im1 = ax.imshow(data1, cmap='viridis')
cax1 = plt.axes([0.95, 0.1, 0.1, 0.7])
cb1 = fig.colorbar(im1,cax=cax1)

im2 = ax.imshow(data2, cmap='plasma', alpha=0.4)  # 使用alpha参数使得两个地图重叠时能够看到两者
cax2 = plt.axes([0.84, 0.1, 0.05, 0.5])
cb2 = fig.colorbar(im2,cax=cax2)

我们Python可视化课程里的地图案例如下:

有需要的同学可以参与我们自己的课程哈,如下:

PS:课程即将上线多个讲解内容和新知识

可视化学习圈子是干什么的?

可视化学习圈子是书籍「科研论文配图绘制指南-基于Python」一书的学习圈子:主要通过以下几个方面,给大家带来比纸质书籍更丰富的学习内容:

  • 视频教学,和读者零距离互动交流
  • 及时修正勘误和定期新增绘制知识点
  • 拓展衍生,绘图知识点远超书籍本身
  • 直播视频+拓展资料+答疑,学习更高效

「PS」:我们直播教学内容为课堂式教学,原作者带着大家对书籍一章、一节、一页的进行教学。而且直播的视频都会通过剪辑后整理成课程,圈子中的同学可以免费、反复观看。当然,新增内容和定期答疑,直播也是如此。

  • 为何会有这个书籍学习社群?无门槛的微信群难免会鱼龙混杂,问题和质量都无法得到保证,而且一些关键问题经常被淹没,且没有沉淀价值。
  • 随着添加我微信的人日益增多,向我提问的人也越来越多,随便回答一下就太不负责任了;不回答也不是很好;如果都仔细回答,我也有自己的工作并且确实很忙,真的有点心有余而力不足!所以我才会建立这么一个渠道来沉淀我的可视化技巧和分享经验,以及给大家提供一个坚持学习的平台。

微信扫描下方二维码即可参与我们的书籍学习圈子啦:

微信扫码即可加入学习圈子

有需要的同学可以参与我们自己的课程哈,如下:

图片

系统学习可视化

当然,在学习数据可视化的道路上,你也有很多问题得不到解答,也可以加入我们的可视化课程(可视化系列课程推文)后,在学员群里和大家一起谈论,一起进步,或者直接向我提问。如果我觉得你的问题很具有普适性,我会把它写成文章发布在公众号上,让更多人看到,有关我们数据可视化系列课程的服务内容,可以参考下面的 阅读原文。

猜你喜欢

不是?!这种图一行代码就搞定了,超简单....

这图这么多人问!?赶紧给大家复现出来~~..

ggpubr!一键绘制出版级论文配图,绘图小白福音......

tidyterra!空间数据处理、可视化神器...

Antarctic-Plots!不用ArcGIS,我照样可以画出惊艳的地图...

比Matplotlib合并子图更方便!patchworklib让我告别PS拼图...

Xarray,不用ArcGIS,所有地理空间绘图全搞定...

Nature都推荐的箱线图(Boxplot)绘制工具长啥样?免费、在线、灵活操作...?

完美解决Matplotlib绘图中、英文字体混显问题..

MATLAB绘图不好看?!不是,你是还没发现这几个工具包吧..

不是,这个地理数据工具这么强的吗?数据处理、可视化它都行..

这种环形图太难画?!带你一行代码搞定..

不是,这封面图这么多人问的吗?教程来了

不用Seaborn,这个工具也能绘制超炫的统计图形···

NetworkX,网络结构图最强绘制工具·····

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 「绘图技巧」 :如何在同一个图形上显示两个colorbar
    • Matplotlib 两个Colorbar添加
    • 可视化学习圈子是干什么的?
    • 系统学习可视化
    • 猜你喜欢
    相关产品与服务
    云直播
    云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档