Javatpoint标志
Javatpoint标志

Matplotlib (Python绘图库)

Matplotlib教程

人类的思维更适合数据的视觉表现,而不是文本数据。当事物形象化时,我们可以很容易地理解它们。最好是用图表来表示数据,这样我们可以更有效地分析数据,并根据数据分析做出具体的决策。在学习matplotlib之前,我们需要了解数据可视化以及为什么数据可视化很重要。

数据可视化

Matplotlib数据可视化

图形为探索数据提供了一种极好的方法,这对于展示结果是必不可少的。数据可视化是一个新术语。它所表达的思想不仅仅是用图形形式表示数据(而不是使用文本形式)。

这在发现和了解数据集时非常有帮助,可以帮助对模式、损坏数据、异常值等进行分类。只需少量的领域知识,就可以使用数据可视化来表达和演示图表中的关键关系。静态分析确实专注于数据的定量描述和估计。它为获得定性的理解提供了一套重要的工具。

有五个用于数据可视化的关键图。

Matplotlib数据可视化

有五个阶段是组织做出决定的关键:

Matplotlib数据可视化
  • 可视化:我们分析原始数据,这意味着它使复杂的数据更容易访问、理解和使用。表格式数据表示用于用户查找特定的度量值,而几种类型的图表用于显示一个或多个变量的数据中的模式或关系。
  • 分析:数据分析被定义为清理、检查、转换和建模数据,以获得有用的信息。无论我们在商业上或日常生活中所作的决定,都是根据过去的经验。选择一个特定的决定会发生什么这只是在分析我们的过去。这可能会在未来受到影响,因此适当的分析对于任何企业或组织的更好决策都是必要的。
  • 文档见解:文档洞察是将有用的数据或信息以标准格式组织在文档中的过程。
  • 转换数据集:标准数据被用来更有效地做出决策。

为什么需要数据可视化?

为什么需要数据可视化

数据可视化可以执行以下任务:

  • 它确定了需要改进和注意的领域。
  • 它澄清了这些因素。
  • 它有助于理解产品放在哪里。
  • 预测销售量。

数据可视化的好处

以下是数据可视化的一些好处,可以帮助组织或业务做出有效的决策:

1.建立吸收信息的方法

数据可视化允许用户接收大量关于操作和业务条件的信息。它帮助决策者看到多维数据集之间的关系。它通过使用地图、热图和其他丰富的图形表示提供了分析数据的新方法。

可视化数据发现更有可能找到组织需要的信息,最终比其他竞争公司更有生产力。

2.在业务中可视化关系和模式

数据可视化的关键优势在于,在当今竞争激烈的商业环境中,找到经营状况和业务绩效之间的相关性是至关重要的。

数据可视化的好处

建立这些类型的关联的能力使执行人员能够确定问题的根本原因,并迅速采取行动解决它。

假设一家食品公司正在查看他们的月度客户数据,数据以柱状图的形式显示,该公司在该地区的得分在前几个月下降了5分;数据表明,这方面的客户满意度存在问题。

3.更快地对新出现的趋势采取行动

数据可视化使决策者能够更有效地掌握跨多个数据集的客户行为和市场状况的变化。

了解客户的情绪和其他数据为公司提供了一个新兴的机会,可以先于竞争对手抓住新的商业机会。

4.基于地质可视化

地理空间可视化是由于许多网站提供网络服务,吸引访问者的兴趣而产生的。这些类型的网站需要利用特定位置的信息,这些信息已经存在于客户的详细信息中。

Matplotlib是一个Python库,它被定义为构建在Numpy数组上的多平台数据可视化库。它可以在python脚本、shell、web应用程序和其他图形用户界面工具包中使用。

约翰·d·亨特最初设想的matplotlib2002.它有一个活跃的开发社区,并以bsd风格的许可证.它的第一个版本于2003年发布,也是最新的版本3.1.1版本上发布的2019年7月1日

Matplotlib 2.0。到2007年6月23日为止,x支持Python 2.7至3.6版本。Python3支持从Matplotlib 1.2开始。Matplotlib 1.4是支持Python 2.6的最后一个版本。

的功能可以使用各种工具包来增强matplotlib.其中一些工具是单独下载的,其他工具可以随matplotlib源代码移动,但具有外部依赖性。

  • Bashmap:这是一个地图绘制工具包,包含多个地图投影、海岸线和政治边界。
  • Cartopy:它是一个映射库,由面向对象的映射投影定义和任意点、线、多边形和图像转换功能组成。
  • Excel工具:Matplotlib为实用程序提供了与Microsoft Excel交换数据的工具。
  • Mplot3d:它用于3D绘图。
  • Natgrid:它是Natgrid库的一个接口,用于对间隔数据进行不规则网格划分。

Matplotlib架构

在matplotlib的体系结构中有三个不同的层,分别是:

  • 后端层
  • 艺术家层
  • 脚本层

后端层

后端层是图形的底层,它由绘图所必需的各种功能的实现组成。后端层有三个基本类FigureCanvas(将要绘制图形的表面),渲染器(负责在表面上绘图的类),和事件(它处理鼠标和键盘事件)。

艺术家层

美工层是体系结构中的第二层。它负责各种绘图函数,如坐标轴,它协调如何在图形画布上使用渲染器。

脚本层

脚本层是我们的大部分代码将在其上运行的最顶层。脚本层中的方法几乎自动地负责其他层,而我们需要关心的只是当前状态(图&子图)。

Matplotlib的一般概念

Matplotlib图可以分为以下几个部分:

Matplotlib的一般概念

图:它是一个可以包含一个或多个轴(图)的整体图形。我们可以把一个图看作是一个容纳情节的画布。

轴:一个图可以包含几个轴。它由两个或三个(在3D情况下)Axis对象组成。每个Axes由一个标题、一个x-标签和一个y-标签组成。

轴:轴是线状对象的数量,负责生成图形的极限。

艺术家:艺术家是我们在图形上看到的所有对象,如文本对象、Line2D对象和集合对象。大多数艺术家都与斧头有关。

安装Matplotlib

在开始使用Matplotlib或它的绘图函数之前,需要先安装它。matplotlib的安装取决于安装在计算机上的发行版。安装方法如下:

使用Python的Anaconda发行版

安装Matplotlib最简单的方法是下载Python的Anaconda发行版。Matplotlib已预安装在anaconda发行版中,不需要进一步的安装步骤。

  • 访问Anaconda的官方网站,点击下载按钮
安装Matplotlib
  • 根据你的Python解释器配置选择下载。
安装Matplotlib

使用Anaconda提示安装Matplotlib

Matplotlib可以通过键入命令与Anaconda提示符一起安装。要安装matplotlib,打开Anaconda Prompt并输入以下命令:


安装Matplotlib

使用pip安装Matplotlib

python包管理器pip也用于安装matplotlib。打开命令提示窗口,输入以下命令:

验证安装

要验证matplotlib是否正确安装,输入以下命令,包括在终端中调用.__version __。

绘制图形的基本示例

下面是生成简单图形的基本示例;程序如下:

输出:

绘制图形的基本示例

使用Python matplotlib绘制一个简单的图形只需要三行代码。我们可以为Python matplotlib库创建的图表添加标题、标签,使其更有意义。示例如下:

输出:

绘制图形的基本示例

这张图比上一张图更容易理解。

使用Pyplot

matplotlib.pyplot是集合命令风格的函数,使matplotlib感觉像在MATLAB中工作。pyplot函数用于对图形进行一些更改,例如创建图形、在图形中创建绘图区域、绘制绘图区域中的一些线、装饰包含标签的图形等。

当我们想要快速绘制一些东西而不实例化任何图形或坐标轴时,最好使用它。

在处理matplotlib.pyplot,有些状态是通过函数调用存储的,这样它就可以跟踪当前的图形和绘图区域,并且这些绘图函数都指向当前的坐标轴。

pyplot模块提供图()常用于绘制图形的函数。让我们来看一个简单的例子:

输出:

使用Pyplot

在上面的程序中,它绘制的图形x轴范围为0-4,y轴范围为1-5。如果我们向plot()提供一个列表,matplotlib假定它是一个y值序列,并自动生成x值。因为我们知道python索引从0开始,默认的x向量与y长度相同,但从0开始。因此x数据为[0,1,2,3,4]。

我们可以将任意数量的参数传递给plot()。例如,要绘制x和y的关系,我们可以这样做:

输出:

使用Pyplot

设置情节风格的格式

第三个参数是可选的,它是一个格式字符串,指示图形的颜色和线条类型。默认格式字符串为'b -也就是你在上图中看到的纯蓝色。让我们考虑下面的例子,我们用红圈绘制图形。

输出:

使用Pyplot

示例格式字符串

“b” 用于默认形状的蓝色标记。
“罗” 红色圆圈
“g” 绿色的实线
“——” 带有默认颜色的虚线
“^ k:” 用虚线连接的黑色三角形标记

matplotlib支持以下颜色缩写:

字符 颜色
“b”蓝色
‘g’ 绿色
“r” 红色的
“c” 青色
“米” 品红色的
“y” 黄色的
“k” 黑色的
' w ' 白色

用分类变量绘图

Matplotlib允许我们直接将分类变量传递给许多绘图函数:考虑以下示例

输出:

使用Pyplot

在上面的程序中,我们使用次要情节()函数。让我们看一下subplot()函数。

次要情节是什么()

的Matplotlib次要情节()函数的定义是在一个图中绘制两个或多个图形。我们可以使用这种方法分离位于同一轴上的两个图。Matplotlib支持所有类型的子图,包括2x1垂直、2x1水平或2x2网格。

它接受三个论点:它们是Nrows, ncols和index.它表示行数、列数和索引。

subplot()函数可以通过以下方式调用:

参数:

  • *参数:

三个独立的整数或三位数整数描述子图的位置。如果这三个整数是Nrows, ncols和index为了使子图在网格上的索引位置nrows行而且ncol列

这个论点pos是一个三位数整数,其中第一个数字表示行数,第二个数字表示列数,第三个数字表示子图的索引。例如,子图(1,3,2)与子图(132)相同。

注意:传递的integer必须小于10。

  • * * kwargs

subplot()函数还接受返回的轴基类的关键字参数。

考虑下面的例子:

创建不同类型的图形

1.线形图

折线图是一种用一系列的线来表示信息的图表。图形由plot()函数绘制。线图易于绘制;让我们考虑下面的例子:

输出:

创建不同类型的图形

我们可以通过导入样式模块自定义图形。样式模块将被构建到matplotlib安装中。它包含了各种功能,使情节更有吸引力。在下面的程序中,我们使用了样式模块:

输出:

创建不同类型的图形

在Matplotlib中,图(plt.Figure类的一个实例)可以被认为是一个单独的容器,由表示轴、图形、文本和标签的所有对象组成。

示例3

输出:

创建不同类型的图形

matplotlib提供fill_between ()函数,该函数用于根据用户定义的逻辑填充行周围的区域。

示例4

输出:

创建不同类型的图形

2.酒吧图表

条形图是最常见的图形类型之一,用于显示与分类变量相关的数据。Matplotlib提供了一个酒吧()制作条形图,接受参数,如:类别变量,它们的值和颜色。

输出:

创建不同类型的图形

另一个函数barh ()用于制作水平柱状图。它接受xerryerr作为参数(在垂直图的情况下),描述我们数据中的方差如下:

输出:

创建不同类型的图形

让我们看一下另一个使用风格()功能:

输出:

创建不同类型的图形

类似于垂直堆叠,条形图通过使用bottom参数和定义我们想要堆叠在下面的条形图和它的值组合在一起。

输出:

创建不同类型的图形

3.饼状图

饼图是一个圆形的图形,它被分成饼的部分或部分。它通常用于表示百分比或比例数据,其中饼的每个切片代表一个特定类别。让我们看看下面的例子:

输出:

创建不同类型的图形

4.柱状图

首先,我们需要了解柱状图和直方图之间的区别。直方图用于分布,而柱状图用于比较不同的实体。直方图是一种柱状图,它显示了一些值与一组值范围之间的频率。

例如我们取不同年龄段的人的数据,画一个关于箱子的直方图。现在,bin表示被划分为一系列区间的值的范围。通常创建的箱子大小相同。

输出:

创建不同类型的图形

让我们考虑另一个绘制直方图的例子:

输出:

创建不同类型的图形

5.散点图

当我们需要定义一个变量受另一个变量影响的程度时,散点图主要用于比较变量。数据显示为点的集合。每个点都有一个变量的值,它定义了在水平轴上的位置,而另一个变量的值表示了在垂直轴上的位置。

让我们考虑以下简单的例子:

示例1:

输出:

创建不同类型的图形

示例2

输出:

创建不同类型的图形

6.3 d图形图

Matplotlib最初开发时只使用二维绘图。它的1.0版本在二维显示的基础上添加了一些三维绘图工具,其结果是一套方便的3D数据可视化工具。

可以通过导入mplot3d工具包,包括主Matplotlib安装:

当在程序中导入该模块时,可以通过传递关键字来创建三维轴投影= ' 3 d '到任何普通轴创建例程:

让我们看一下简单的3D图

示例1:

输出:

创建不同类型的图形

示例2:

输出:

创建不同类型的图形

注意:我们可以使用plot3D()来绘制简单的3D线图。

示例3

输出:

创建不同类型的图形

Matplotlib的重要函数

功能 描述
情节(轴值,y-axis-values) 它用于绘制x轴值与y轴值之间的简单线形图。show()用于显示图形。
标题(“字符串”) 它用于设置由字符串指定的绘图图的标题。
包含(“字符串”) 它用于设置由字符串指定的x轴的标签。
ylabel(“字符串”) 它用于设置由字符串指定的y轴的标签。
图() 它用于控制图形级别的属性。
次要情节(nrows ncol指数) 它用于在最近的数据中添加副图。
副标题(“字符串”) 它将公共标题添加到由字符串指定的绘图图中。
次要情节(nrows, ncols figsize) 它提供了在一次调用中创建子图的简单方法,并返回由图形和轴数组成的元组。
set_title(“字符串”) 它是一种轴级方法,用于设置子图的标题。
栏(分类变量、值、颜色) 它用于创建垂直条形图。
Barh(分类变量、值、颜色) 它用于创建水平柱状图。
传奇(loc) 它是用来制作图形图例的。
xtricks(索引、分类变量) 它用于设置或获取x轴的当前标记位置标签。
派(价值、分类变量) 它用于创建饼图。
Hist(值,箱子数量) 它用于创建直方图。
Xlim(起始值,结束值) 它用于设置x轴值的限制。
Ylim(起始值,结束值) 它用于设置y轴值的限制。
分散(x轴值,y轴值) 它用于绘制x轴值与y轴值的散点图。
轴() 它用于向最近的数字添加坐标轴。
set_xlabel(“字符串”) 这是一个轴级方法,用于设置指定为字符串的图形的x标签。
set_ylabel(“字符串”) 它用于设置指定为字符串的图形的y标签。
scatter3D(x轴值,y轴值) 它被用来绘制一个三维散点图,x轴值相对于y轴。
plot3D(x轴值,y轴值) 它用于绘制x轴值对y轴值的三维线形图。

在本教程中,我们已经了解了matplotlib (Python库),其中我们简要介绍了数据可视化以及数据可视化对于组织决策是如何至关重要的。我们已经绘制了数据的图形表示的不同类型的图形。





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新的教程


准备


热门的技术


B.Tech / MCA






Baidu
map