数据可视化教程来了!

简介: Matplotlib可以说是python数据可视化最重要且常见的工具之一,几乎每个和数据打交道的人都不可避免,还有大量可视化工具是基于它的二次开发。

开源初衷

Matplotlib可以说是python数据可视化最重要且常见的工具之一,几乎每个和数据打交道的人都不可避免,还有大量可视化工具是基于它的二次开发。

开源教程的设计初衷源于笔者最初用python做数据可视化时面临两大痛点,

  • 绘图时现用现查,用过即忘,效率极低
  • 只会复制粘贴,不知其所以然,面对复杂图表一筹莫展

如果屏幕前的你,也正在面临这两个痛点,那么学习本项目教程将会是一个不错的选择。

本项目重点希望在两个层面帮助读者构建matplotlib的知识体系(文末有开源教程地址)

  • 从图形,布局,文本,样式等多维度系统梳理matplotlib的绘图方法,构建对于绘图方法的整体理解
  • 从绘图API层级,接口等方面阐明matplotlib的设计理念,摆脱只会复制粘贴的尴尬处境

关于本项目的名称,Fantastic-Matplotlib,在笔者精读过官网文档之后,才愈发觉得精妙,仿佛看到了一角下的广袤冰山,被它强大的功能和精巧的设计惊艳到了,之前对于matplotlib的了解还是过于浅薄,因此想用fantastic来表示笔者的感慨,也希望能够通过这样一个开源教程带领读者领略的matplotlib的精彩之处。

开源教程

Fantastic-Matplotlib共有5个章节,笔者为每一个章节写了一句小诗作为回目名,因为在笔者看来,可视化不仅仅是一项技术,更是一件充满了艺术性的事情,在使用可视化库画图表时,常常想象自己在一块画布上自由地画水粉画。

第一回:Matplotlib初相识

第二回:艺术画笔见乾坤

第三回:布局格式定方圆

第四回:文字图例尽眉目

第五回:样式色彩秀芳华

这五个章节将从不同的维度(matplotlib概述,绘图元素,布局格式,文字图例,样式色彩)介绍如何进行可视化绘图。

第一回:Matplotlib初相识

截屏2021-11-23 下午2.39.20.png

第一回是引子,首先介绍了matplotlib可视化绘图包的特点,然后通过一个极简的可视化例子告诉读者如何用最简单的几行代码画出一幅可视化图表,最后简单介绍一幅可视化图表figure的组成和两种绘图接口。

两种绘图接口对初学者来说是一个难点,两种最常用的绘图接口特点如下:

  1. 显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style);
  2. 依赖pyplot自动创建figure和axes,并绘图。

他们的区别在于OO模式更为底层,是一种面向对象的思路,从代码上更为复杂,但同时也更灵活。pyplot是面向过程的思路,matplotlib对其做了更高级的封装,使用时只用关注想要实现什么效果即可,而不用涉及到对象本身,代码上更为简洁,但在灵活性上不够OO模式自由。

通过第一章的学习,即使是零基础的读者也能够对matplotlib具有初步的了解,作为可视化的入门,学习如何画一个最简单的可视化例子。

第二回:艺术画笔见乾坤

截屏2021-11-23 下午2.39.35.png

第二回是这个数据可视化教程中最重要的一个章节,整个章节都围绕Artist对象展开。Artist对象在matplotlib宇宙中是一个极为重要的概念,实际上我们在做可视化时几乎接触到的所有对象元素都属于artist对象。

Artist对象可以分为两大类,基本元素primitives和容器对象container。基本元素指的是我们想在可视化画布上填上的标准元素,比如一条线,一个矩形,一段文字,一张外部图片,以上这些都属于基本元素的范畴。而容器对象指的是用来放置那些基本元素的对象,如Figure(完整的画布),Axes(子图),Axis(坐标轴)。按照官网的说法,我们在用matplotlib做可视化图表时,95%的时间都是在和Artist打交道,因此熟练掌握artist是学好数据可视化的关键。

本章首先介绍了matplotlib画图的三层API,其中前两层都属于底层API,通常我们打交道的都位于最上层的API中,进而引入了最上层API中artist的概念和分类,然后介绍matplotlib的标准使用流程,简单来说分为三步:

  1. 创建一个Figure实例;
  2. 使用Figure实例创建一个或者多个AxesSubplot实例;
  3. 使用Axes实例的辅助方法来创建primitive

在介绍完以上这些概念后,本章节详细讲解了常用基本元素和容器对象的使用方法。通过本章的学习,所有常见图表(折线图,柱状图,饼图等)的雏形都已经可以画出来了,并且你还可以根据实际需要自由组合不同基本元素搭建更为复杂的图表。

在本章中还针对artist元素,重点演示两种绘图接口的使用方法,对于常见的基本元素,matplotlib都提供了OO模式和pyplot模式的现成方法供使用者选择。

本质上我们绘制一幅可视化图表就是在容器对象(container)上填充和组合基本元素(primitive)的过程,像极了现实中绘画的过程。

第三回~第五回

截屏2021-11-23 下午2.40.03.png

第三~五章是对于一幅可视化图表的进一步修饰与加工,分别从布局格式,文字图例,样式色彩三方面对图表进行修饰。

第三章重点讲解了如何在一张大画布上划分均匀和非均匀的子图以进行多图展示,丰富图表内容。

第四章重点讲解了如何在图表上的不同功能区(figure,axes,tick,legend)上添加文字,修改文字样式和显示内容,精准的文字表述也是可视化图表的一个重要组成元素。

第五章重点讲解了如何在图表上设置图表的样式和色彩,从而让可视化图表更美观,看起来更像是一幅艺术作品。

最后还想说的是,对于学习完本教程的读者,若是仍然觉得学有余力不过瘾,强烈建议按需阅读官方文档,相信你一定会有所收获的。

核心贡献者:杨剑砺、杨煜、居凤霞、耿远昊、李运佳

Fantastic-Matplotlib开源地址

https://github.com/datawhalechina/fantastic-matplotlib

本系列教程也同步到了天池平台,大家可以扫下方二维码或者点击阅读原文查看相关课程,在天池平台可以直接编辑、运行相关代码和案例。

天池课程地址:https://tianchi.aliyun.com/course/324

截屏2021-11-23 下午2.40.30.png

--END--

相关文章
|
前端开发 JavaScript 开发者
水墨代码:前端川的诞生——在夏日阴雨中启航
【前端川】网站于农历五月初一(2024年6月6日)上线,融合水墨画与现代前端技术,呈现独特的水墨代码美学。创建者陈川分享技术心得与实战经验,网站特色包括水墨风格界面、技术深度解析及实战案例。在夏日雨中启航,"前端川"致力于为开发者提供灵感与帮助,探索前端技术的无限可能。
425 17
基于宜搭的“企业报销流程”实践案例
报销是一个企业的典型场景,本案例着重讲述一个典型的财务报销流程的搭建,已介绍宜搭流程相关的核心功能。报销由员工发起申请,填写报销项以及对应的详情信息,发起审批流程。审批流程计划设置为:当前提交人主管,审批人所在部门对应的财务接口人,财务总监(如果金额大于10000元,则需要加入该角色)
基于宜搭的“企业报销流程”实践案例
|
5月前
|
存储 人工智能 弹性计算
一文读懂云服务器:工作原理与核心作用
云服务器通过虚拟化与分布式技术,将物理服务器集群转化为按需分配的弹性计算资源,解决资源浪费、降低部署门槛。支撑个人开发、企业运维及AI、直播、政务等千行百业,是数字经济的核心基础设施。
|
7月前
|
人工智能 安全 调度
一文详解容器面向大模型与AI Agent的技术变革
在生成式人工智能迅猛发展的浪潮下,企业应用正加速从模型研究走向业务落地。无论是大规模的数据处理、超大参数模型的训练与推理,还是部署能够自动完成任务的AI Agent,这些场景都需要稳定、高效且可弹性伸缩的资源调度与管理能力。 容器凭借环境一致性、跨平台部署和高效调度等优势,天然契合AI场景对多样化算力、快速迭代和规模化分发的要求,成为AI时代事实上的原生基石。然而,要满足在生产规模下的需求,产品及技术形态需随之演进。 基于这一背景,本文将围绕大规模数据处理、模型训练、模型推理与AI Agent四个关键阶段,探讨AI场景对容器的核心需求,以及容器如何在各环节实现技术演进与升级。
701 2
一文详解容器面向大模型与AI Agent的技术变革
|
4月前
|
机器学习/深度学习 编解码 图计算
MATLAB下小波变换原理实验教程与示例代码
MATLAB下小波变换原理实验教程与示例代码
738 5
|
5月前
|
存储 弹性计算 人工智能
2026阿里云服务器年付价格表:轻量 / ECS/GPU最新报价 + 省钱攻略
2026阿里云服务器年付价全面更新:轻量最低38元/年(2核2G+200M带宽),ECS普惠款99元/年起,企业专享199元/年;支持续费同价、多年付低至3折,新老用户均有秒杀、加码及组合优惠,高性价比上云首选。(239字)
735 1
|
XML 编解码 搜索推荐
XML 布局小技巧
【10月更文挑战第24天】通过掌握这些 XML 布局小技巧,我们可以更轻松地设计出高质量的用户界面,提升用户体验。在实际应用中,要根据具体项目的需求和特点,灵活运用这些技巧,不断探索和创新,打造出独具特色的界面布局。
408 1
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
2045 1
|
人工智能 大数据 开发者
阿里云技术解决方案开放免费试用,热门AI场景免费体验!
阿里云推出免费试用计划,2025年7月起,新老用户均可领取100点试用点,用于部署体验技术解决方案。完成部署还可再获最高100点,相当于一年200元云资源免费用。支持AI、大数据、安全等多个领域,涵盖DeepSeek部署、模型微调等热门场景。点击链接即可领取,快速上手云上方案。
|
JSON 算法 安全
harmony-utils之SM3,SM3工具类
harmony-utils是一款HarmonyOS工具库,提供丰富的SM3加密工具类,支持摘要、分段处理及消息认证码计算,助力开发者高效构建安全应用。
575 0