Matplotlib绘图基础之画布详解

 更新时间:2023年07月27日 14:09:00   作者:databook  
Matplotlib 库是一个用于数据可视化和绘图的 Python 库,这篇文章主要为大家介绍了下Matplotlib绘制的图形中的第一个重要的元素--画布,感兴趣的可以了解下

Matplotlib 库是一个用于数据可视化和绘图的 Python 库。

它提供了大量的函数和类,可以帮助用户轻松地创建各种类型的图表,包括直方图、箱形图、散点图、饼图、条形图和密度图等。

使用 Matplotlib 的过程中,遇到的难点并不在于绘制各类的图形,因为每种图形都有其对应的API。

难点在于对绘制的图形进行调整,这些调整包括:

  • 图形的大小
  • 多个图形的组合
  • 坐标轴的方向,刻度的精度
  • 图形的颜色和字体

等等。

进行这些调整需要对 Matplotlib 的绘图机制和其中的主要元素有个整体的了解。

本篇首先整体介绍下Matplotlib绘制的图形中的主要元素,然后重点介绍下其中第一个重要的元素--画布

1. 主要元素

下面绘制一个简单的图形来演示Matplotlib绘图时的主要元素。

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
#绘制一个展示主要元素的图
x = np.array(range(0, 8))
y1 = np.sin(x)
fig = plt.figure()
fig.set_size_inches(10,4)
fig.set_facecolor('lightgreen')
fig.suptitle("整个图形的总标题")
fig.subplots_adjust(wspace=0.3)
ax1 = fig.add_subplot(121)
ax1.plot(x, y1)
ax1.set_title("图1 标题")
ax1.set_xlabel("图1--x轴")
ax1.set_ylabel("图1--y轴")
ax2 = fig.add_subplot(122)
y2 = np.cos(x)
ax2.plot(x, y1)
ax2.plot(x, y2)
ax2.set_title("图2 标题")
ax2.set_xlabel("图2--x轴")
ax2.set_ylabel("图2--y轴")
ax2.legend(labels=["sin", "cos"])
fig.show()

上例中,我们绘制了2个子图。主要的元素包括,图形的大小,图形的标题(主标题和子图标题),坐标轴(轴标签和刻度),图例,子图中曲线(这里可以根据情况换成其他图形,比如柱状图,散点图等等)。

上面的示例代码不用太关心,这里只是为了显示Matplotlib的主要元素。

后续的文章会介绍各个主要元素的常用属性,最终的目的是能够灵活的绘制出符合显示要求的图形,而不仅仅只是绘制出图形。

本篇介绍的主要元素是画布

2. 画布

画布是其他所有的元素的载体,可以说是最重要,也是最容易被忽视的元素。

绘制图形之前,第一件事就是创建画布

2.1. 主要属性

创建画布之后,一般主要用到的属性是调整画布的大小颜色

Matplotlib画布的大小通过设置英寸和dpi来实现,dpi表示一英寸有多少像素。

2.1.1. 画布大小

比如下面的示例:

fig = plt.figure(figsize=[6, 3], dpi=100)
fig.suptitle("标题")
x = np.array(range(0, 8))
y = np.sin(x)
plt.plot(x, y)

修改dpi=200,图形明显变大和清晰。

fig = plt.figure(figsize=[6, 3], dpi=200)

2.1.2. 画布颜色

除了大小,设置画布颜色也是比较常用的。

颜色主要有两种,背景色和边框颜色(默认的边框宽度是0,所以要设置边框颜色时,别忘了设置边框的宽度)。

比如:下面示例设置了背景色浅绿色,边框宽度10,颜色红色

fig = plt.figure(facecolor="lightgreen",
                edgecolor="red",
                linewidth=10)
fig.suptitle("标题")
x = np.array(range(0, 8))
y = np.sin(x)
plt.plot(x, y)

2.2. 主要方法

除了属性,画布还有几个方法也是经常使用的。

2.2.1. 设置标题

上面的示例中已经包含了,也就是 suptitle() 方法。

2.2.2. 添加子图

添加子图用 add_subplot() 方法,这个方法的参数一般是三个数组 xyzx表示有几行,y表示有几列,z表示是第一个子图。

比如:一行两列2个图

fig = plt.figure()
fig.add_subplot(121)
fig.add_subplot(122)

比如:2行一列2个图:

fig = plt.figure()
fig.add_subplot(211)
fig.add_subplot(212)

比如:2行2列4个图:

fig = plt.figure()
fig.add_subplot(221)
fig.add_subplot(222)
fig.add_subplot(223)
fig.add_subplot(224)

2.2.3. 保存图像

画布还有个重要的功能就是把显示的图形保存下来,即 savefig() 方法。

可以把绘制的图形保存到磁盘,用于分享或者制作报告。

fig.savefig("d:/share/image.png")

3. 总结回顾

画布让我们可以整体上设置图形的质量和排版,分析和作图过程中虽然不用过多考虑它,但是最终如果要出报告和文档时,画布的设置就会变得重要。

画布是绘图的第一步,接下来这个系列会逐步介绍 Matplotlib的其他主要元素。

到此这篇关于Matplotlib绘图基础之画布详解的文章就介绍到这了,更多相关Matplotlib画布内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中的descriptor描述器简明使用指南

    Python中的descriptor描述器简明使用指南

    descriptor在Python中主要被用来定义方法和属性,使用起来相当具有技巧性,这里我们先从基础的开始,整理一份Python中的descriptor描述器简明使用指南
    2016-06-06
  • django传值给模板, 再用JS接收并进行操作的实例

    django传值给模板, 再用JS接收并进行操作的实例

    今天小编就为大家分享一篇django传值给模板, 再用JS接收并进行操作的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Opencv python 图片生成视频的方法示例

    Opencv python 图片生成视频的方法示例

    这篇文章主要介绍了Opencv python 图片生成视频的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python issubclass 和 isinstance函数

    python issubclass 和 isinstance函数

    这篇文章主要介绍了python issubclass 和 isinstance函数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Python实现多属性排序的方法

    Python实现多属性排序的方法

    这篇文章主要介绍了Python实现多属性排序的方法,非常不错,具有一定的参考价借鉴价值,需要的朋友可以参考下
    2018-12-12
  • Python 处理数据库事务的操作方法

    Python 处理数据库事务的操作方法

    在Python中,处理数据库事务通常涉及使用特定的数据库驱动如sqlite3、PyMySQL和psycopg2等,这些库提供事务管理功能,允许开发者手动控制事务的提交和回滚,本文给大家介绍Python如何处理数据库事务,感兴趣的朋友一起看看吧
    2024-10-10
  • Python中Iterator迭代器的使用杂谈

    Python中Iterator迭代器的使用杂谈

    Python中的迭代器意义不仅是在iter函数上的运用,更是一种处理可迭代对象的迭代器模式,这里我们来简单聊聊Python中Iterator迭代器的使用杂谈:
    2016-06-06
  • python提取页面内url列表的方法

    python提取页面内url列表的方法

    这篇文章主要介绍了python提取页面内url列表的方法,涉及Python操作页面元素的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Pytorch的安装过程之pip、conda、Docker容器安装

    Pytorch的安装过程之pip、conda、Docker容器安装

    PyTorch是一个基于Python的开源深度学习框架,可用于训练和预测深度学习模型,PyTorch支持多种安装方法,这篇文章主要介绍了Pytorch的安装----pip、conda、Docker容器,需要的朋友可以参考下
    2023-04-04
  • python进度条库tqdm的基本操作方法

    python进度条库tqdm的基本操作方法

    这篇文章主要介绍了python进度条库tqdm的基本操作方法,tqdm实时输出处理进度而且占用的CPU资源非常少,支持windows、Linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况等优点,下面对其更多内容详细介绍,需要的朋友可以参考一下
    2022-03-03

最新评论