Matplotlib 可视化必备神书,附pdf下载

2023-05-16

出品:Python数据之道

大家好,我是阳哥。

大家知道,在利用Python进行数据可视化过程中,基本上是很难绕开 Matplotlib 的,因为 不少其他的可视化库多多少少是建立在 Matplotlib 的基础上的。

620334b1b811f19cae89dcebb9b099d5.png
Python绘图库生态

01背景

阳哥在学习数据可视化的过程中,也是不断地在学习 Matplotlib 的。

虽然有时候会觉得 Matplotlib 的语言繁琐,做出来的图不怎么高大上(现在看来还是自己水平菜~~)

但时不时的看到有高手用 Matplotlib 绘制出令人惊叹的图表,又会去研习一番。

在 2018年的时候,阳哥跟大家分享了 Matplotlib 可视化最有价值的 50 个图表 。

2020年,继续分享了 Matplotlib 可视化的 100个案例

  • Matplotlib 实操干货,100个案例带你从入门到进阶!-Part 1

  • Matplotlib 实操干货,100个案例带你从入门到进阶!-Part 2

对于初学者而言,如果能够熟练的掌握上面的 150 个案例,其实还是可以很好的学习到 Matplotlib 的不少精髓的。

最近,我又在研究 Matplotlib 在动画视频中的一些应用,在找资料的过程中,发现了一本不错的 Matplotlib 可视化书籍。

书名是《Scientific Visualization: Python + Matplotlib》,这本书是由来自法国计算机科学研究所的研究员 Nicolas P. Rougier 编写的,是一本关于使用 Python 和 Matplotlib 进行科学可视化的书籍。

书籍是可以开放获取的,其 github 地址如下:

https://github.com/rougier/scientific-visualization-book

02书籍介绍

之所以想给大家介绍下这本书,是因为我觉得书中确实有不少可以去学习的案例。

下面来分享下部分内容。

1. Matplotlib 的发展历程

可能大家并不一定知道,其实 Matplotlib 库成立至今已经有 18个年头了, 1.0版于2011年发布,至今也已经10年了。

Matplotlib 可谓是一个有着持续生命力的 Python 库,可见其在应用中的广泛度。

4455dc2cd4d38cb293b15985b7a75e05.png
Matplotlib 的发展历程

2. Matplotlib 图的层次结构

Matplotlib 图由层次结构丰富的多种元素组成,最终通过构图逻辑形成下图所示的实际图形。

905980b022f7bb65fdb3273a89bc5b50.png
Matplotlib图的层次结构

这张图来自 Matplotlib 的官方文档,熟练理解图中的各种元素,有助于咱们深入理解 Matplotlib 的绘图技巧。

3. 书中部分精彩的内容

这本书是针对进行科学计算可视化使用 Matplotlib 的书籍,具有一定的目的性。

在这本书中,基础部分的内容,其实讲的不是很多。毕竟这本书只有 200多页,如果要详细的描述 Matplotlib ,光基础内容,估计都不止 这些页数了。

所以,如果你以前没有接触过程 Matplotlib ,在学习本书内容时,需要有一些基础。不妨先了解下 Matplotlib 的一些基础知识。下面的100个案例,应该够用了~~

  • Matplotlib 100个案例-Part 1

  • Matplotlib 100个案例-Part 2

密度曲线重叠图

cf1c4b7a5525cd00efa19ab758998062.png

上面的这张图的类型,有个英文名称,叫 “Joy Plot”,但中文翻译我也不知道怎么称呼了,姑且称之为 “密度曲线重叠图” 。

Joy Plot 允许不同组的密度曲线重叠,这是一种可视化大量分组数据的彼此关系分布的好方法。

散点+直方图

c8d91b45ced3580749c80693b4def09d.png

上面这张图是散点图和直方图的组合,这种类型的图,我是很少见,觉得还是比较新颖的。大家不妨学习下。

极坐标图

极坐标下绘图,可以有多种变化。

咱们常见的有 雷达图。

在本书中,也介绍了好几种极坐标图的绘制方法。图示如下:

6daa6b12ee08db4597af263df4aa70f1.png 93f3143eba30b9330386bb6845928bb2.png a2c7a381ebcacebf1648920158892d84.png

轮廓图

等高线图属于轮廓图中的一种,用 Matplotlib绘制等高线图,也是挺不错的,如下:

6b1eb49d1ecba92a99894b384ecee294.png

之前,我也分享过等高线怎么来绘制的:Matplotlib 中等高线图的绘制

在书中,还有一种轮廓图,我觉得很不错的,值得学习下,图示如下:

f3f30d32b95f577d3a30ca5fe47d9378.png

将轮廓作为背景,将文字包裹在轮廓中,大家可以换个内容试试。

堆积面积图

其实,堆积面积图是一种常见的图形,但我觉得书中的效果确实给人一种高大上的感觉。

3496af7f7990d8414b88431a1a985c12.png

配色的魅力,大概就体验在这里了吧 (我自己的图,经常配色好丑~~)

关于配色,再看看下面这两幅图,是不是很惊艳呀

28b77b65abd4b3ae65e39b7616d60fbc.png 0f08c4dbbcb3447d0718b06740822fcf.png

注释对齐

下面的这张图,将文字说明的注释内容对齐,并用折线箭头指示,这种效果,还是挺美观的。

cfa2d10f14c3a1bec46aa920a9acf398.png

3D图

Matplotlib 的3D 绘制功能,其实是很强大的,只是可能我们平时用的不多,有所忽略。

你知道吗,用 matplotlib 还可以绘制一只兔子哈,如下:

740e063a0a387d2f79fee226409305de.png

科学领域

下一这幅图是基底神经节切片示意图,虽然我不明白具体的科学含义是什么,但我相信,在相关专业领域的人士会用到这些功能。

29b8f710c664ad7695757f5ffeafde2e.png

视觉之美

书中,还有不少精致的绘图,足以展现 Matplotlib 的强大之处,跟大家分享下图片效果(可以左右滑动查看

365c9d499b79766043fb26a22bc3537f.png

dc53b659c5d0c7c208ab81bdf29f9578.png

b634b2a4008e39ae71804f0f8d85886d.png

4a3957548f7d830eeb629c97005a5db8.png

96b0d156e8dab140789cec39b11dd733.png

3e0d2f56323b5ab6b8298dfff13756f3.png

244633b32cdb12e3c72fa992a3a31e6d.png

9300d12af040afe7b74f07b51aac13d7.png

<<< 左右滑动见更多 >>>

03小结

难能可贵的是,作者在这本书中提供的案例,都同时提供了相应的源代码,大家可以在其 Github 中获取。

https://github.com/rougier/scientific-visualization-book

考虑到 github 的访问速度有时很慢,我将书籍pdf版以及配套源代码也下载下来了,大家可以在公众号「Python数据之道」后台回复 matplot 来获取。

84f8241b7444611e07c256de4eabe2c6.png



大家读完顺手点下右下角的  “在看” ,就是最大的鼓励和支持了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matplotlib 可视化必备神书,附pdf下载 的相关文章

  • 循环冗余校验(CRC)之verilog实现

    有一个网站在这一方面做的特别好 xff0c 直接生成代码 链接 xff1a http www easics com webtools crctool 循环冗余校验 xff0c 也称为CRC检验 xff0c 这是一个很常见的 xff0c 很成
  • 从原理上解释什么是DDR的ZQ校准?

    前言 首先我们我们看下下图的电路 xff0c 在DDR的电路中通常有ZQ部分的电路 xff0c 外接1 高精度的240ohm电阻 xff0c 那么这个240ohm电阻究竟是做什么用的呢 xff1f 很多做了硬件或者驱动开发很多年的工程师仍然
  • 串行数据异步动态相位采样处理iodelay-iserdes应用+CDR数据恢复方案

    目录 一 用iserdes的LVDS视频接口 二 LVDS 4倍异步过采样 ISERDES2 三 8倍过采样 CDR数据恢复 Select IO 替代 RocketIO 典型应用SD SDI 四 4倍过采样 CDR数据恢复 一 用iserd
  • 接收灵敏度dbm与W

    一 基本概念 xff1a 接收灵敏度 官方概念 xff1a 接收机能够识别到的 最低的电磁波能量 单位也是dBm 解读 xff1a 接收灵敏度 xff0c 就是你的耳朵能听到的最小的声音 耳朵灵敏度高的 xff0c 能够听到很远的声音 例如
  • 三段式过流保护、差动保护

    1 基本原理 供电系统中的线路 设备等故障 xff0c 会产生短路电流 短路电流比线路正常工作时大很多 通过电流互感器测量这个电流值 xff0c 和电流值的持续时间 xff0c 达到整定值时输出跳闸信号 xff0c 这个就是过电流保护的基本
  • Unexpandable Clocks不可扩展时钟 UG903

    同源时钟可能同步 xff0c 可能异步 xff1f 同源时钟由同一个PLL MMCM产生 xff0c 相位固定 xff0c 能否产生小数倍关系 xff1f 不可扩展时钟能否归类到异步时钟 xff1f 不可扩展时钟是指时钟引擎无法在1000个
  • allegro 尺寸标注操作未到板边的处理

    1 进入尺寸标注 2 右击选择线性 xff0c parameters中可以改参数 xff0c 默认即可 3 打开尺寸层 xff0c 点击板边框 如果有圆弧没有标注到板边 xff0c 可以在右侧find中关闭其它项 xff0c 点击两个板边标
  • 安装boost

    安装boost 从官网下载并解压到适当位置 Boost网站 在解压后的目录中找到 bootstrap bat点击运行 xff0c 并等待结束 这时会出现b2 exe文件 xff0c 点击运行 xff0c 耐心等待结束 xff08 安装后产生
  • 基于PCIe的NVMe协议在FPGA中实现方法

    NVMe协议是工作在PCIE的最上层协议层的 xff0c 故需要先搞清楚PCIE 本文基于Xilinx的UltraScale 43 xff0c 开发工具为Vivado2021 2 学习中以spec为主 xff0c 其它资料辅助参考 重点介绍
  • PX4地面参数配置

    1 空速计 在不使用空速计的情况下 xff0c 配置CBRK AIRSPD CHK参数失能传感器 xff0c waining消失 2 数传部分 配置SER TEL1 BAUD的波特率与数传一致 xff0c 在地面站选择数传端口进行连接 xf
  • 企业微信公众账号自定义应用模块中撤回历史消息的方法

    企业微信 xff0c 公众账号自定义应用模块中撤回历史消息的方法 注意 xff1a 此方法适用于撤回超过24小时的历史消息 下载这个工具 xff1a postman xff1a http www downza cn soft 205171
  • windows的BAT或者linux的VI下批量更改替换文件名的脚本

    windows 的BAT 或者linux 的VI 下批量更改替换文件名的脚本 本来离开写脚本有些日子了 xff0c 倒是现在有些文件处理或者EXCEL 工作簿要处理的话 xff0c 还是会用简化流程来处理 脚本函数则帮我解决了很多麻烦事 昨
  • 那些年,我们一起读过的《JAVA与模式》

    那些年 xff0c 我们一起读过的 JAVA与模式 刚上大二 xff0c 买回来那一本厚厚的 JAVA与模式 时 xff0c 我还很不舍得 xff0c 这价格 xff0c 可以供一周的生活费了 既然买了 xff0c 就得读一读吧 先说说阎宏
  • 室内定位技术及机场方案建议

    室内定位技术发展现状 在1996年左右 xff0c 美国联邦通信委员会 xff08 FCC xff09 要求移动运营商为移动电话用户提供E 911 xff08 紧急救援 xff09 服务 1999年 xff0c FCC又对定位精度做出新的要
  • 如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)

    在IE浏览器下 xff0c xmlDom对象一般这样被定义 xff1a var xmlDom 61 new ActiveXObject 34 Microsoft XMLDOM 34 为了兼容Firefox xff0c 需要修改为 xff1a
  • BIM+GIS建设与运维管理工作建议

    背景 xff1a BIM 43 GIS项目的建设意见 xff0c 就弱电的建设和运维方向提出相关需求 xff1b 在BIM模型建设时期 xff0c 面向弱电专业的建设建议 参考行业规范 xff1a 在机场工程项目的建设阶段 xff0c 各参
  • 修改svn默认端口

    Subversion有两种不同的配置方式 xff0c 一种基于它自带的轻量级服务器svnserve xff0c 一种基于非常流行的Web服务器Apache 根据不同的配置方式 xff0c Subversion使用不同的端口对外提供服务 基于
  • 项目、系统开发中的需求分析说明书和需求规格说明书的区别

    项目组成员在针对要开发的系统做需求调研后 xff0c 就要编写对应的需求说明书 作为软件工程师 xff0c 你就得知道需求分析说明书和需求规格说明书的区别 xff0c 以期在正确的时候编写正确的需求文档 两者有何不同 xff1a xff08
  • 全景视频拼接的关键技术与步骤

    全景视频拼接是一种利用实景图像组成全景空间的技术 xff0c 它将多幅图像拼接成一幅大尺度图像或360度全景图 全景视频技术涉及到计算机视觉 计算机图形学 数字图像处理以及一些数学工具等技术 全景拼接基本步骤主要包括 xff1a 摄像机的标
  • Ubuntu18.04+ROS Realsense的安装与使用

    文章目录 前言一 安装软件包与librealsense1 内核检查2 Installing the packages 2022 11 21更新 xff1a 在换了ubuntu20 04 xff08 带有 xff09 5 15的内核报错后 x

随机推荐

  • C/C++内存管理详解[转载]

    我觉得这是一篇很不错的文章 xff0c 对C和C 43 43 的程序员来说 xff0c 很有实用价值 xff0c 故推荐给大家 作者 xff1a PingPong 文档来源 xff1a CSDN 伟大的Bill Gates 曾经失言 xff
  • 项目启动会应该注意的几点

    摘要 xff1a 开个好头 xff0c 万事不难 项目启动会作为项目建设生命周期的开始 xff0c 其意义和难度不言而喻 作为项目管理办公室的负责人 xff0c 需要特别重视项目启动会的召开 xff0c 杜绝走过场 xff0c 避免虽然知道
  • 飞机的航班代码/航班号码的编号规则

    以下内容来源于网络 xff0c 并整理而得 一 国内航班 中国国内航班号的编号规则 xff1a 航空公司的两字代码 43 4位数字 其中 xff0c 后面四位数字的第一位代表航空公司的基地所在地区 第二位代表航班基地外终点所在地区 xff0
  • 机场生产运行数据统计指标-第四篇-机场运行保障类

    机场运行保障类 1 民航航班正常统计 1 1 统计说明 xff08 1 xff09 统计范围的相关说明 xff1a 1 民航航班正常统计范围 xff1a 国内外运输航空公司执行的客货运航班 xff0c 包括正班 加班 包机 港澳台地区及国际
  • STM32CubeMAX入门篇

    要求使用单片机STM32F407IGT6 1 时钟配置 STM32F407外部高速晶振为25MHz xff0c 分别连接到PH0和PH1引脚 2 SWD配置 STM32F407仿真接口SWD分别连接到PA13和PA14引脚 xff01 开始
  • 无人机仿真XTDrone学习一:Mavros基础知识与作用

    XTDrone等无人机仿真平台 xff0c 利用ROS 43 Gazbo 43 PX4进行SITL xff08 软件在环仿真 xff09 xff0c 主要利用PX4飞控的offboard模式 xff0c 在此模式下上位机程序发布期望运动 x
  • 无人机仿真XTDrone学习二:常用的mavros消息类型

    mavros用于无人机通信 xff0c 可以将飞控与主控的信息进行交换 本次记录常用的mavros消息类型 官方Wiki最正确 xff0c 如有疑问首先查阅Wiki mavros wiki CSDN参考 常用话题 数传 用于查看数传状态 x
  • 无人机仿真XTDrone学习三:MAVRos功能包在offboard模式控制例程

    本教程介绍了使用 Gazbo SITL 中模拟的四轴飞行器 Offboard 控制缓慢起飞到2米的高度 61 61 注意 xff1a 61 61 使用 Offboard 模式来控制无人机有危险性的 如果你是在一个真正的实物平台上进行试验 x
  • 无人机仿真XTDrone学习四:XTDrone键盘控制无人机程序分析(MAVRos)一

    在XTDrone安装完成后 xff0c 运行一个键盘控制无人机程序测试XTDrone安装是否存在问题 通过分析该例程 xff0c 理解ROS对无人机的控制方法与控制过程 XTDrone键盘控制无人机例程仿真 XTDrone键盘控制无人机例程
  • 无人机仿真XTDrone学习五:XTDrone键盘控制无人机indoor1.launch程序分析二

    launch程序如下 这个文件启动了Gazebo仿真环境 xff0c 配置MAVROS功能包和PX4 SITL功能包 span class token prolog lt xml version 61 34 1 0 34 gt span s
  • 接收机灵敏度的计算公式推导和分析

    接收机灵敏度定义的接收机能够接收到的并且还能正常工作的最低电平强度 接收机灵敏度跟很多东西有关 xff0c 如噪声系数 信号带宽 解调信噪比等 xff0c 灵敏度一般来说越高 xff08 数值越低 xff09 xff0c 说明其接收微弱信号
  • 无人机仿真XTDrone学习六:XTDrone键盘控制无人机multirotor_communication.py程序分析三

    multirotor communication py程序 这个程序是实现对无人机控制的主要程序 xff0c 需要重点分析 可以实现对无人机的位置 xff0c 速度 xff0c 加速度的控制 主要节点 xff1a sys span clas
  • 无人机仿真XTDrone学习七:XTDrone键盘控制无人机 multirotor_keyboard_control.py程序分析四

    multirotor keyboard control py 该程序可以通过键盘对一个或者多个无人机进行速度或者加速度的控制并更改无人机或领导者无人机飞行状态 这个脚本通过发布状态命令和速度命令话题与通讯脚本进行通讯 xff0c 通讯脚本进
  • XTDrone仿真平台与Prometheus仿真平台

    常见的无人机仿真平台大都是用于对底层飞控算法的仿真与调试 xff0c XTDrone仿真平台与Prometheus仿真平台可以针对无人机上层算法进行仿真或者进行编队仿真 xff0c 这两者都采用ROS 43 PX4 43 Gazebo开源平
  • ROS中功能包二进制安装改为源码安装

    在学习XTDrone的二维路径规划时需要使用navigation功能包 xff0c 使用文档安装方式为二进制安装 sudo apt install span class token operator span y ros span clas
  • 2016晚安 2017你好

    不知不觉开通CSDN账号已有三年多的时间 xff0c 三年多以前抱着学习坚持的态度想要在CSDN上记录自己学习的点滴 结果三年多过去了 xff0c 2016年也随着过去了 xff0c 回顾2016年主要的三件事情就是 xff1a 1 从大学
  • Python入门学习--环境配置

    工作将近两年了 xff0c 做过B S结构的项目 xff0c 也做过android xff0c 也做过C S结构的项目 xff0c 相信无论是那种项目都是基于Java 学习运用Java也已经好多年了 xff0c 虽然也接触过C C 43 4
  • Python入门学习-数据类型

    一 类型的概念 首先 xff0c 对于一个数据1011100 xff0c 改怎么解释呢 xff1f 同Java等变成语言类型 xff0c 首先我们要明确数据的类型 xff0c 程序设计语言不允许语法歧义 xff0c 因此需要明确数据的类型
  • 流年似水 启航2019

    凌晨1点无意间看到一个演讲视频 感谢你给我机会上场 xff0c 很久之前的一个演讲视频 xff0c 看完除了羡慕还是羡慕吧 xff0c 也许就是一句话吧 xff0c 开挂的人生不需要解释 30多年的生活他做了很多事 xff0c 也做成了很多
  • Matplotlib 可视化必备神书,附pdf下载

    出品 xff1a Python数据之道 大家好 xff0c 我是阳哥 大家知道 xff0c 在利用Python进行数据可视化过程中 xff0c 基本上是很难绕开 Matplotlib 的 xff0c 因为 不少其他的可视化库多多少少是建立在