透视Matplotlib核心功能和工具包 - 结构

介绍

Matplotlib是一个跨平台的Python库,用于绘制二维图形(也称为图)。 它可以在各种用户界面中使用,例如Python脚本,IPython Shell,Jupyter Notebook,Web应用程序和GUI工具包。 它可以用于开发专业的报告应用程序,交互式分析应用程序,复杂的仪表板应用程序或嵌入到Web中。

Matplotlib具有三层体系结构:后端,美工和脚本,以逻辑方式组织为堆栈。 脚本是开发人员用来创建图形的API。 美工完成了内部创建图形的实际工作。 后端是显示图形的位置。

后端层

这是图形显示在输出设备上的最底层。 这可以是Matplotlib支持的任何用户界面。 后端有两种类型:用户界面后端(用于pygtk,wxpython,tkinter,qt4或macosx等,也称为交互式后端)和用于制作图像文件的硬拷贝后端(.png 、. svg,.pdf和.ps,也称为非交互式后端)。

美工层

这是堆栈的中间层。 Matplotlib使用artist对象绘制图形的各种元素。 因此,我们在图形中看到的每个元素(请参见图中的元素)都是一个美工。 该层提供了一个面向对象的API,可以最大程度地灵活地绘制图形。 该接口适用于经验丰富的Python程序员,他们可以创建复杂的仪表板应用程序。

脚本层

这是堆栈的最顶层。 该层提供了用于创建图形的简单界面。 这供没有太多编程专业知识的最终用户使用。 这称为pyplot API。

图像元素

包含输出图的所有元素的高级Matplotlib对象figure。 可以以不同方式排列多个图形以形成图形。 图的每个元素都是可定制的。

下图是解剖图,其中包含所有元素:

轴图

axes是图的子部分,其中绘制了图形。 轴具有标题,x标签和y标签。 一个图形可以有许多这样的轴,每个轴代表一个或多个图形。 在上图中,只有一个轴,两个折线图分别为蓝色和红色。

这些是数字线,代表要绘制的图形的比例。 二维图具有x轴和y轴,而三维图具有x轴,y轴和z轴。

标签

这是给图形的各个元素赋予的名称,例如,x轴标签,y轴标签,图形标签(如上图蓝色信号和红色信号)。

图例

当轴上有多个图形时(如上图所示),每个图形都有其自己的标签,所有这些标签均表示为图例。 在上图中,图例位于图的右上角。

标题

它是每个轴的名称。 当图形具有带有自己的标题的多个轴时,图形也可以具有自己的标题。 上图只有一个轴,因此轴和该图都只有一个标题。

刻度标签

每个轴(x,y或z)都有一个范围的值,该值分为许多相等的箱。 箱分为两个级别。 在上图的解剖图中,x轴比例从0到4,范围分为四个主要区域(0-1、1-2、2-3和3-4),每个主要区域都进一步分为四个次要箱(0-0.25、0.25-0.5和0.5-0.75)。 主分类箱两侧的标记称为主分类号,次分类箱称为次分类号,并且给它们的名称是主分类号和次分类号。

脊柱

该图的边界称为脊柱。 每个轴有四个脊柱(上,下,左和右)。

网格

为了更容易读取图形上各个点的坐标,将图形区域划分为网格。 通常,此网格沿x和y轴的主要刻度线绘制。 在上图中,以虚线显示了网格。

交互式模式

Matplotlib可以在交互或非交互模式下使用。 在交互模式下,图形显示在每个语句后都会更新。 在非交互模式下,只有明确要求这样做,图形才会显示。

实践

您需要Python,NumPy和Matplotlib软件包的有效安装。

使用以下命令,可以打开或关闭交互模式,还可以在任何时间点检查当前模式:

  • matplotlib.pyplot.ion()将交互模式设置为ON
  • matplotlib.pyplot.ioff()关闭交互模式
  • matplotlib.is_interactive()检查交互模式是ON(真)还是OFF(假)

交互式模式操作步骤:

  1. 将屏幕输出设置为后端:
%matplotlib inline
  1. 导入matplotlib和pyplot库。 在Python中,通常的做法是导入带有清晰同义词的库。 注意plt是matplotlib.pyplot软件包的同义词:
import matplotlib as mpl
import matplotlib.pyplot as plt
  1. 将交互模式设置为开:
plt.ion()
  1. 检查交互模式的状态:
mpl.is_interactive()
  1. 您应该将输出显示为True。
  2. 绘制折线图:
plt.plot([1.5, 3.0])

您应该看到以下图形作为输出:

  1. 现在,借助以下代码,将轴标签和标题添加到图形中:

# Add labels and title
plt.title('Interactive Plot') #Prints the title on top of graph
plt.xlabel('X-axis')         # Prints X axis label as 'X-axis'
plt.ylabel('Y-axis')         # Prints Y axis label as 'Y-axis'

执行上述三个语句后,图形应如下所示:

详情参阅 - 亚图跨际

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值