Matplotlib (Python绘图库)![]() 人类的思维更适合数据的视觉表现,而不是文本数据。当事物形象化时,我们可以很容易地理解它们。最好是用图表来表示数据,这样我们可以更有效地分析数据,并根据数据分析做出具体的决策。在学习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源代码移动,但具有外部依赖性。
Matplotlib架构在matplotlib的体系结构中有三个不同的层,分别是:
后端层 后端层是图形的底层,它由绘图所必需的各种功能的实现组成。后端层有三个基本类FigureCanvas(将要绘制图形的表面),渲染器(负责在表面上绘图的类),和事件(它处理鼠标和键盘事件)。 艺术家层 美工层是体系结构中的第二层。它负责各种绘图函数,如坐标轴,它协调如何在图形画布上使用渲染器。 脚本层 脚本层是我们的大部分代码将在其上运行的最顶层。脚本层中的方法几乎自动地负责其他层,而我们需要关心的只是当前状态(图&子图)。 Matplotlib的一般概念Matplotlib图可以分为以下几个部分: ![]() 图:它是一个可以包含一个或多个轴(图)的整体图形。我们可以把一个图看作是一个容纳情节的画布。 轴:一个图可以包含几个轴。它由两个或三个(在3D情况下)Axis对象组成。每个Axes由一个标题、一个x-标签和一个y-标签组成。 轴:轴是线状对象的数量,负责生成图形的极限。 艺术家:艺术家是我们在图形上看到的所有对象,如文本对象、Line2D对象和集合对象。大多数艺术家都与斧头有关。 安装Matplotlib在开始使用Matplotlib或它的绘图函数之前,需要先安装它。matplotlib的安装取决于安装在计算机上的发行版。安装方法如下: 使用Python的Anaconda发行版 安装Matplotlib最简单的方法是下载Python的Anaconda发行版。Matplotlib已预安装在anaconda发行版中,不需要进一步的安装步骤。
![]()
![]() 使用Anaconda提示安装Matplotlib Matplotlib可以通过键入命令与Anaconda提示符一起安装。要安装matplotlib,打开Anaconda Prompt并输入以下命令: ![]() 使用pip安装Matplotlib python包管理器pip也用于安装matplotlib。打开命令提示窗口,输入以下命令: 验证安装要验证matplotlib是否正确安装,输入以下命令,包括在终端中调用.__version __。 绘制图形的基本示例下面是生成简单图形的基本示例;程序如下: 输出: ![]() 使用Python matplotlib绘制一个简单的图形只需要三行代码。我们可以为Python matplotlib库创建的图表添加标题、标签,使其更有意义。示例如下: 输出: ![]() 这张图比上一张图更容易理解。 使用Pyplot的matplotlib.pyplot是集合命令风格的函数,使matplotlib感觉像在MATLAB中工作。pyplot函数用于对图形进行一些更改,例如创建图形、在图形中创建绘图区域、绘制绘图区域中的一些线、装饰包含标签的图形等。 当我们想要快速绘制一些东西而不实例化任何图形或坐标轴时,最好使用它。 在处理matplotlib.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的关系,我们可以这样做: 输出: ![]() 设置情节风格的格式 第三个参数是可选的,它是一个格式字符串,指示图形的颜色和线条类型。默认格式字符串为'b -也就是你在上图中看到的纯蓝色。让我们考虑下面的例子,我们用红圈绘制图形。 输出: ![]() 示例格式字符串
matplotlib支持以下颜色缩写:
用分类变量绘图Matplotlib允许我们直接将分类变量传递给许多绘图函数:考虑以下示例 输出: ![]() 在上面的程序中,我们使用次要情节()函数。让我们看一下subplot()函数。 次要情节是什么()的Matplotlib次要情节()函数的定义是在一个图中绘制两个或多个图形。我们可以使用这种方法分离位于同一轴上的两个图。Matplotlib支持所有类型的子图,包括2x1垂直、2x1水平或2x2网格。 它接受三个论点:它们是Nrows, ncols和index.它表示行数、列数和索引。 subplot()函数可以通过以下方式调用: 参数:
三个独立的整数或三位数整数描述子图的位置。如果这三个整数是Nrows, ncols和index为了使子图在网格上的索引位置nrows行而且ncol列. 这个论点pos是一个三位数整数,其中第一个数字表示行数,第二个数字表示列数,第三个数字表示子图的索引。例如,子图(1,3,2)与子图(132)相同。 注意:传递的integer必须小于10。
subplot()函数还接受返回的轴基类的关键字参数。 考虑下面的例子: 创建不同类型的图形1.线形图折线图是一种用一系列的线来表示信息的图表。图形由plot()函数绘制。线图易于绘制;让我们考虑下面的例子: 输出: ![]() 我们可以通过导入样式模块自定义图形。样式模块将被构建到matplotlib安装中。它包含了各种功能,使情节更有吸引力。在下面的程序中,我们使用了样式模块: 输出: ![]() 在Matplotlib中,图(plt.Figure类的一个实例)可以被认为是一个单独的容器,由表示轴、图形、文本和标签的所有对象组成。 示例3 输出: ![]() matplotlib提供fill_between ()函数,该函数用于根据用户定义的逻辑填充行周围的区域。 示例4输出: ![]() 2.酒吧图表条形图是最常见的图形类型之一,用于显示与分类变量相关的数据。Matplotlib提供了一个酒吧()制作条形图,接受参数,如:类别变量,它们的值和颜色。 输出: ![]() 另一个函数barh ()用于制作水平柱状图。它接受xerr或yerr作为参数(在垂直图的情况下),描述我们数据中的方差如下: 输出: ![]() 让我们看一下另一个使用风格()功能: 输出: ![]() 类似于垂直堆叠,条形图通过使用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的重要函数
在本教程中,我们已经了解了matplotlib (Python库),其中我们简要介绍了数据可视化以及数据可视化对于组织决策是如何至关重要的。我们已经绘制了数据的图形表示的不同类型的图形。 |