【数据可视化】Matplotlib 入坑篇

简介: 如果将文本数据与图表数据相比较,人类的思维模式更适合于理解后者,原因在于图表数据更加直观且形象化,它对于人类视觉的冲击更强,这种使用图表来表示数据的方法被叫做数据可视化。当使用图表来表示数据时,我们可以更有效地分析数据,并根据分析做出相应的决策。在学习 Matplotlib 之前,了解什么是数据可视化!## 数据可视化图表为更好地探索、分析数据提供了一种直观的方法,它对最终分析结果的展示具有重要的

matplotlib

数据可视化是什么

如果将文本数据与图表数据相比较,人类的思维模式更适合于理解后者,原因在于图表数据更加直观且形象化,它对于人类视觉的冲击更强,这种使用图表来表示数据的方法被叫做数据可视化。
1.png

当使用图表来表示数据时,我们可以更有效地分析数据,并根据分析做出相应的决策。在学习 Matplotlib 之前,了解什么是数据可视化!

数据可视化

图表为更好地探索、分析数据提供了一种直观的方法,它对最终分析结果的展示具有重要的作用。

当您对一个数据集进行分析时,如果使用数据可视化的方式,那么您会很容易地确定数据集的分类模式、缺失数据、离群值等等。下图展示了五个常用的数据可视化图表:
2.png

图2:数据可视化常用图表

对于组织决策者而言,数据可视化也只是一种辅助工具,从寻找数据间关联到最终做出决定,大致分为以下四步。如下图所示:
3.png

组织者决策流程图

下面对图中的流程进行简要说明:

  • 可视化(Visualize):使用不同种类的图表对原始数据进行可视化处理,使复杂的数据更容易理解与使用;
  • 分析(Analysis):数据分析的目的是获取有用的信息,这个过程主要涉及对数据的清洗、检查、转换以及对数据的建模;
  • 文档说明(Document insight):文档说明属于整理、汇总阶段,将有用的数据或者信息整理出来;
  • 数据集转换(Transform Data Set):指将数据进行分类、分级、统计记录格式与编码格式等。

数据可视化应用场景

数据可视化主要有以下应用场景:

  • 企业领域:利用直观多样的图表展示数据,从而为企业决策提供支持;
  • 股票走势预测:通过对股票涨跌数据的分析,给股民提供更合理化的建议;
  • 商超产品销售:对客户群体和所购买产品进行数据分析,促使商超制定更好的销售策略;
  • 预测销量:对产品销量的影响因素进行分析,可以预测出产品的销量走势。

其实不管是在日常生活,还是工作中,我们都会根据过往的经验作出某些决定,这种做法也叫做“经验之谈”。数据分析和其类似,通过对过往数据的大量分析,从而对数据的未来走势做出预测。

Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy  ndarray 数组来绘制 2D 图像,它使用简单、代码清晰易懂,深受广大技术爱好者喜爱。

NumPy 是 Python 科学计算的软件包,ndarray 则是 NumPy 提供的一种数组结构。

Matplotlib 由 John D. Hunter 在 2002 年开始编写, 2003 年 Matplotlib 发布了第一个版本,并加入了 BSD 开源软件组织。Matplotlib 1.4 是最后一个支持 Python 2 的版本,它的最新版本 3.1.1 已于 2019 年 7 月 1 日发布。
4.png

图1:Matplotlib 图标

Matplotlib 提供了一个套面向绘图对象编程的 API 接口,能够很轻松地实现各种图像的绘制,并且它可以配合 Python GUI 工具(如 PyQt、Tkinter 等)在应用程序中嵌入图形。同时 Matplotlib 也支持以脚本的形式嵌入到 IPython shell、Jupyter 笔记本、web 应用服务器中使用。

Matplotlib架构组成

Matplotlib 由三个不同的层次结构组成,分别是脚本层、美工层和后端层。
5.png

图2:Matplotlib架构图

1) 脚本层

脚本层是 Matplotlib 结构中的最顶层。我们编写的绘图代码大部分代码都在该层运行,它的主要工作是负责生成图形与坐标系。

2) 美工层

美工层是结构中的第二层,它提供了绘制图形的元素时的给各种功能,例如,绘制标题、轴标签、坐标刻度等。

3) 后端层

后端层是 Matplotlib 最底层,它定义了三个基本类,首先是 FigureCanvas(图层画布类),它提供了绘图所需的画布,其次是 Renderer(绘图操作类),它提供了在画布上进行绘图的各种方法,最后是 Event(事件处理类),它提供了用来处理鼠标和键盘事件的方法。

Matplotlib图形组成

Matplotlib 生成的图形主要由以下几个部分构成:

  • Figure:指整个图形,您可以把它理解成一张画布,它包括了所有的元素,比如标题、轴线等;
  • Axes:绘制 2D 图像的实际区域,也称为轴域区,或者绘图区;
  • Axis:指坐标系中的垂直轴与水平轴,包含轴的长度大小(图中轴长为 7)、轴标签(指 x 轴,y轴)和刻度标签;
  • Artist:您在画布上看到的所有元素都属于 Artist 对象,比如文本对象(title、xlabel、ylabel)、Line2D 对象(用于绘制2D图像)等。

Matplotlib功能扩展包

许多第三方工具包都对 Matplotlib 进行了功能扩展,其中有些安装包需要单独安装,也有一些允许与 Matplotlib 一起安装。常见的工具包如下:

  • Bashmap:这是一个地图绘制工具包,其中包含多个地图投影,海岸线和国界线;
  • Cartopy:这是一个映射库,包含面向对象的映射投影定义,以及任意点、线、面的图像转换能力;
  • Excel tools: 这是 Matplotlib 为了实现与 Microsoft Excel 交换数据而提供的工具;
  • Mplot3d:它用于 3D 绘图;
  • Natgrid:这是 Natgrid 库的接口,用于对间隔数据进行不规则的网格化处理。

Matplotlib安装

Matplotlib 是 Python 的第三方绘图库,它非常类似于 MATLAB。在使用 Matplotlib 软件包之前,需要对其进行安装。本节以 Windows10 系统为例,介绍 Matplotlib 的几种安装方式。

MATLAB 是一款商业软件,主要用于数据分析、图像处理、计算机视觉等领域。

使用pip理器安装

使用 Python 包管理器 pip 来安装 Matplotlib 是一种最轻量级的方式。打开 CMD 命令提示符窗口,并输入以下命令:

pip install matplotlib
6.png

图1:pip安装Matplotlib

使用Anaconda安装

安装 Matplotlib 的最好的方法是下载 Python 的 Anaconda 发行版,因为 Matplotlib 被预先安装在 Anaconda 中。安装方法如下:

Anaconda 是一个开源的 Python 发行版本,其包含了 Python、NumPy、Matplotlib 等180多个科学包及其依赖项。

1) 访问 Anaconda 的官方网站(点击前往),然后单击“Download”按钮,如下图所示:

图2:Anaconda官网

2) 根据您的 Python 解释器版本选择相应的 Anaconda 版本下载。
7.png

图3:Anacona下载

Anconda 中提供了一个交互式笔记本 Jupyter,您可以把它理解为 IPython 的升级本,它拥有比 IPython 更强大的功能,方便您对程序代码的实时调试。

Jupyter 的本质上是一个 Web 应用程序,它支持运行 40 多种编程语言,主要应用于数据可视化、数值模拟、统计建模以及机器学习等。

当您成功安装 Anaconda 后,您可以通过系统的开始菜单找到 Jupyter,然后启动它,Jupyter 界面如下所示:
8.png

图4:Jupyter交互式笔记本

Jupyter 使用方法简单,在本教程不做具体介绍,可以参见官网《Jupyter Notbook使用介绍》。

验证安装

要验证 Matplotlib 是否成功安装,可以在命令提示符窗口执行以下命令

import matplotlib
matplotlib.version
'3.1.1'

Matplotlib基本类型

绘图类型

绘图类型
函数名称 描述
Bar 绘制条形图
Barh 绘制水平条形图
Boxplot 绘制箱型图
Hist 绘制直方图
his2d 绘制2D直方图
Pie 绘制饼状图
Plot 在坐标轴上画线或者标记
Polar 绘制极坐标图
Scatter 绘制x与y的散点图
Stackplot 绘制堆叠图
Stem 用来绘制二维离散数据绘制(又称为“火柴图”)
Step 绘制阶梯图
Quiver 绘制一个二维按箭头

Image函数

图像函数
函数名称 描述
Imread 从文件中读取图像的数据并形成数组。
Imsave 将数组另存为图像文件。
Imshow 在数轴区域内显示图像。

Axis函数

Axis函数
函数名称 描述
Axes 在画布(Figure)中添加轴
Text 向轴添加文本
Title 设置当前轴的标题
Xlabel 设置x轴标签
Xlim 获取或者设置x轴区间大小
Xscale 设置x轴缩放比例
Xticks 获取或设置x轴刻标和相应标签
Ylabel 设置y轴的标签
Ylim 获取或设置y轴的区间大小
Yscale 设置y轴的缩放比例
Yticks 获取或设置y轴的刻标和相应标签

Figure函数

Figure函数
函数名称 描述
Figtext 在画布上添加文本
Figure 创建一个新画布
Show 显示数字
Savefig 保存当前画布
Close 关闭画布窗口
import numpy as np
from matplotlib import pyplot as plt
import math
x=np.arange(0,math.pi*2,0.1)
y=np.sin(x)
plt.plot(x,y)
plt.xlabel("angle")
plt.ylabel("sin(angle)")
plt.title("sin")
plt.plot(x,y)
plt.show()

代码执行后,显示结果如下:
9.png

相关文章
|
2月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
50 1
|
10天前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
1月前
|
数据可视化 数据挖掘 API
Python中的数据可视化利器:Matplotlib与Seaborn对比解析
在Python数据科学领域,数据可视化是一个重要环节。它不仅帮助我们理解数据,更能够让我们洞察数据背后的故事。本文将深入探讨两种广泛使用的数据可视化库——Matplotlib与Seaborn,通过对比它们的特点、优劣势以及适用场景,为读者提供一个清晰的选择指南。无论是初学者还是有经验的开发者,都能从中找到有价值的信息,提升自己的数据可视化技能。
96 3
|
1月前
|
数据可视化 定位技术 Python
Python数据可视化--Matplotlib--入门
Python数据可视化--Matplotlib--入门
26 0
|
2月前
|
数据可视化 数据挖掘 开发者
数据可视化新纪元!Python + Matplotlib + Seaborn,让你的数据故事生动起来!
在这个数据可视化的新纪元,让我们充分发挥 Python 的优势,用精彩的图表讲述数据背后的故事,为决策提供有力的支持,为交流带来清晰的视角。
31 4
|
2月前
|
数据可视化 Python
Python中的数据可视化:使用Matplotlib绘制图表
【9月更文挑战第11天】在这篇文章中,我们将探索如何使用Python的Matplotlib库来创建各种数据可视化。我们将从基本的折线图开始,然后逐步介绍如何添加更多的功能和样式,以使您的图表更具吸引力和信息量。无论您是数据科学家、分析师还是任何需要将数据转化为视觉形式的专业人士,这篇文章都将为您提供一个坚实的起点。让我们一起潜入数据的海洋,用视觉的力量揭示其背后的故事。
56 16
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
在数据科学与机器学习领域,数据可视化是理解数据和优化模型的关键。Python凭借其强大的可视化库Matplotlib和Seaborn成为首选语言。本文通过分析一份包含房屋面积、卧室数量等特征及售价的数据集,展示了如何使用Matplotlib绘制散点图,揭示房屋面积与售价的正相关关系;并利用Seaborn的pairplot探索多变量间的关系。在机器学习建模阶段,通过随机森林模型展示特征重要性的可视化,帮助优化模型。这两个库在数据分析与建模中展现出广泛的应用价值。
49 2
|
2月前
|
数据可视化 数据挖掘 API
使用Python进行数据可视化:探索Matplotlib和Seaborn库
【9月更文挑战第19天】在数据科学领域,将复杂的数据集转换成直观、易懂的图形是一项基本而关键的技能。本文旨在通过Python编程语言介绍两个强大的数据可视化库——Matplotlib和Seaborn,以及它们如何帮助数据分析师和研究人员揭示数据背后的故事。我们将从基础概念讲起,逐步深入到高级技巧,确保无论读者的背景如何,都能获得必要的知识和启发,以在自己的项目中实现有效的数据可视化。
|
2月前
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
在数据驱动时代,分析师们像侦探一样在数字海洋中寻找线索,揭示隐藏的故事。数据可视化则是他们的“魔法棒”,将复杂数据转化为直观图形。本文将带你探索Python数据分析师如何利用Matplotlib与Seaborn这两大神器,成为数据可视化大师。Matplotlib提供基础绘图功能,而Seaborn在此基础上增强了统计图表的绘制能力,两者结合使数据呈现更高效、美观。无论是折线图还是箱形图,这两个库都能助你一臂之力。
44 4
|
2月前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化

热门文章

最新文章

下一篇
无影云桌面