Python 中的 Matplotlib:用示例解释各种绘图

已发表: 2021-06-21

目录

什么是matplotlib?

在 Python 中可用的几个库中, python 中的 matplotlib就是这样一个可视化库,它有助于对数组的二维图进行可视化。 数据可视化库基于 NumPy 数组构建。 正是在 2002 年,John Hunter 引入了多平台数据可视化库。 该库提供数据的可视化和数据的图形绘制,提供了 MATLAB 的替代方案。 Matplotlib 的 API 即应用程序编程接口,开发人员使用它们将绘图嵌入 GUI 应用程序。

matplotlib 提供了几个图形图,如条形图、线形图、直方图、散点图等。 matplotlib 绘图提供的可视化允许直观地访问大量数据。 仅由于 python matplotlib 脚本的结构化特性,可以通过几行代码生成可视化数据图。

两个 API 用于覆盖 matplotlib 脚本层:

  • Python API:它是 Python 代码对象的层次结构。
  • OO(面向对象)API:API 提供对 Matplotlib 后端层的直接访问。

安装

matplotlib 库的安装可以通过从 Python 包索引 (PyPI) 下载 matplotlib 及其依赖项作为二进制包来完成。

可用于安装库的命令是

python -m pip 安装 matplotlib

在 Windows、Linux 和 macOS 等操作系统中,matplotlib 及其依赖项以轮包的形式存在。 在这种情况下,要执行的命令是。

python -mpip install -U matplotlib

该库也可用作未编译的源文件,其安装相当复杂,因为本地系统需要为操作系统提供适当的编译器。 此外,ActiveState 平台可用于从源代码构建 matplotlib 并将其打包用于所需的操作系统。

输入

python中matplotlib的导入是通过命令进行的

  • 从 matplotlib 导入 pyplot 作为 plt
  • 将 matplotlib.pyplot 导入为 plt

各种情节和例子

1. Matplotlib UI 菜单

Matplotlib UI 菜单是在通过 Matplotlib 创建绘图时生成的。 Matplotlib UI 提供了绘图的自定义和元素的切换以及放大绘图的能力。

2. Matplotlib 和 NumPy

NumPy是 python 下一个包,用于执行科学计算。 Matplotlib 建立在 NumPy 之上,它使用 NumPy 提供的函数来处理其数值数据和多维数组。

3. Matplotlib 和 Pandas

Pandas 是一个 python 库,用于 matplotlib 处理数据和分析。 它不是 matplotlib 必需的依赖项,但提供了一个数据框。

Matplotlib 绘图允许大量数据的可视化表示。 通过这些图表,可以识别数据中存在的趋势和特定模式,这对于建立相关性至关重要。 Matplotlib Plots基本上提供了一种推理定量信息的方法。

matplotlib 图的一些类型是:

1.线图:

使用两点

  • Matplotlib 线图是通过导入 pyplot 生成的。
  • 对于在图中绘制点,使用plot()函数,默认情况下从一个点到另一个点绘制一条线。
  • 考虑了两个参数来指定绘制线的点。
  • X 轴点在参数 1 中存储为数组。
  • Y 轴点在参数 2 中存储为数组。
  • 示例:如果必须从点 (2, 6) 到 (10, 15) 绘制一条线,则必须传递两个数组,即 [2, 10] 和 [6, 15]。

示例:显示线图和生成图的代码

资源

2. 使用多点

  • 就像使用两个点进行绘图的方式一样,允许在 python 中使用matplotlib绘制多个点
  • 为了绘制多个点,两个轴上的点数应相同。
  • 输入:

资源

3.没有x轴点的线点

  • 如果未指定 X 轴点,则 X 轴的默认值基于 Y 轴点。
  • 输入: 代码将与上述用于绘制线条的代码相同,但只有一个数组作为输入,即 Y 轴数组。 X 轴将作为默认值。

ypoints = np.array([10, 8, 12, 20, 3, 9])

  • 生成的图:

matplotlib 中存在各种选项,可以增加绘图的视觉效果:

1. 标记

  • 为了增强图表中点的视觉效果,可以使用关键字marker使用指定的标记
  • 标记可以是星形、圆形、点、像素、X 等。
  • 示例: plt.plot(ypoints, marker = 'o') 可用于绘制点
  • 其他标记列表显示在以下片段中,取自

资源

  • 可以根据颜色(支持 140 种颜色)、大小和可以使用的线类型(如虚线、实线或虚线)更改标记。
  • markeredge ( mec )markerfacecolor ( mfc )命令用于为整个标记着色。
  • 它提供了仅对标记边缘或整个标记着色的选项。
  • Markersize或简称ms用于设置标记的大小。

语法:plt.plot(ypoints, marker = 'o', ms = 30)

2. Matplotlib 线

  • 可以使用 linestyle、dotted 或 dashed 的选项相应地更改绘制线的样式,这些选项表示为ls :

语法:plt.plot(ypoints, ls = ':')

  • 可以使用关键字color或使用c以更短的形式相应地更改线条的颜色 matplotlib 提供了 140 种支持的颜色来改变线条的颜色外观。
  • 可以使用参数linewidthlw更改线的宽度 它是一个浮点数。
  • 使用plt.plot()函数可以在同一个图中绘制多条线
  • grid() 函数用于将网格线添加到绘图中。 可以添加轴参数以指定需要网格线的轴。

语法:plt.grid(axis = 'x')

  • 网格的属性可以通过参数、颜色、线条样式和数字相应地更改,例如颜色、线条样式和宽度。

语法:plt.grid(color = 'green', linestyle = '–', linewidth = 0.5)

3. Matplotlib 标签和标题

  • xlabel()ylabel()函数用于标记各自的 asex。
  • title()函数用于设置绘图的标题。
  • 可以使用fontdict参数更改绘图的字体属性。
  • loc参数可用于指定标题的位置

使用subplots()函数可以在一个图中绘制多个图

4. Matplotlib 散点图

  • scatter()函数可以与 pyplot 一起使用来绘制散点图
  • 需要两个长度相同的数组,即每个轴一个数组。
  • 例子:

资源

生成的图

  • 颜色 c参数用于为散点图中的点着色。
  • 颜色图可用于指定散点图中所需的颜色。 颜色图中的每种颜色都有一个特定的值。 它可以通过参数 cmap 包含,然后分配颜色图的名称。 matplotlib 中提供了几个内置的颜色图。

语法:plt.scatter(x, y, c=colors, cmap='viridis')

Viridis 是 matplotlib 中可用的内置颜色图。

  • 的大小和透明度可以通过salpha参数进行更改。
  • 颜色图可以与不同大小的点组合。

5. Matplotlib 条形图

  • bar()函数用于绘制条形图 bar()函数中提到了条形布局的参数 它绘制垂直条形图。

  • barh()函数用于绘制水平条形图
  • 输入:

  • 生成的图:

资源

  • color参数与bar ()barh()函数一起使用来设置条形颜色。

语法:plt.bar(x, y, color = “green”)。

  • width参数与bar ()barh()函数一起使用来设置条形宽度。

语法:plt.bar(x, y, width = 0.2)。

  • bar()barh()函数使用的另一个参数height ,它用于设置条形高度。

6. Matplotlib 饼图

  • 饼图是通过 matplotlib 库中的 pie() 函数创建的。
  • 示例:输入:

  • 生成的图:

资源

  • 每个楔形都可以用参数标签进行标记,该参数是一个带有每个楔形标签的数组。

语法: mylabels = [ “汽车” “自行车” “自行车 “公共汽车” ]

  • 饼图中默认的起始角度为 X 轴,可以通过参数 startangle 进行更改。 角度以度为单位定义,默认角度为 0。
  • 使用explode 参数,可以将所需的楔形显示为突出。 它通过一个数组指定,其中楔形的值突出,其余值保持为 0。

语法:myexplode = [0.2, 0, 0, 0]

  • 将 shadows 参数设置为 true 将为饼图创建阴影。
  • 颜色参数用于通过数组指定每个楔形的颜色。

语法: mylabels = [ “汽车” “自行车” “自行车 “公共汽车” ]

mycolors = [“黑色”、“hotpink”、“蓝色”、“绿色””]

  • legend() 函数用于为每个楔形添加解释。

7.直方图

  • 直方图用于绘制频率分布。
  • hist()函数用于创建直方图,该直方图使用数字数组来创建直方图。
  • 示例: 输入:上面的线将与用于绘制条形图的线相同。

x = np.random.normal(90, 100, 200)

打印(x)

  • 生成的图:

结论

正如文章中所讨论的, python 中的 matplotlib可用于以各种样式绘制数据。 进一步的各种选项可用于增强我们的绘图,允许用户根据自己的意愿进行标记、调整大小和颜色。 因此,python及其库对于当今时代的数据分析和处理是相当有帮助的。

数据科学领域的 Python 编程培训可在upGrad提供的数据科学执行 PG 计划课程中获得。 如果您愿意接受行业专家的培训并探索数据科学所拥有的各种机会,您可以报名参加该课程。 该课程由 IIIT-Bangalore 提供,专为 21 至 45 岁年龄段的中级专业人士而设计。 无论性别如何,如果您属于上述类别并梦想成为领先的数据科学家,请加入我们的行列。 对于任何援助船,我们的团队随时准备为您提供帮助。

Pandas 模块的优势在哪里?

Pandas 是具有各种用例的最重要和最有用的 Python 模块之一。 以下是 Pandas 模块的一些优点。
1. Pandas 允许方便的数据过滤和子集化。
2. 代码简洁易懂,让用户更专注于核心目标。
3. 由于它是用 NumPy 编写的,它也继承了 NumPy 的一些有用特性。

Matplotlib 库有什么用途?

1. Matplotlib 库提供了许多有用的 API 来嵌入各种类型的图,包括直方图、线和条形图、散点图和条形图。
2. 这个强大的库可以帮助您使用存储在数组中的数据创建二维图。 其简单的代码结构使您只需添加几行简单的代码即可嵌入任何类型的绘图。
3. 它具有面向对象的接口,使其成为 MATLAB 和 Pyplot 的强大替代品。 它是高度可定制的,但需要一些经验才能使用高级功能。
4. 如果您需要在您的应用程序中嵌入更简单的绘图,那么您应该选择它的 MATLAB 风格的 Python 接口。 但是,如果您有复杂的绘图,那么它的 OOP 接口将是一个更好的选择。