Python学习笔记#5:Matplotlib画图

Matplotlib是Python 2D绘图库,用于轻松数据可视化。本文介绍其安装、中文显示、核心原理,以及基本流程,包括创建figure、画图和保存。还探讨了静态和动态图形的实现,如FuncAnimation模块用于生成动态图。
摘要由CSDN通过智能技术生成

简介

Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。

Matplotlib 的默认配置都允许用户自定义。你可以调整大多数的默认配置:图片大小和分辨率(dpi)、线宽、颜色、风格、坐标轴、坐标轴以及网格的属性、文字与字体属性等。不过,matplotlib 的默认配置在大多数情况下已经做得足够好,你可能只在很少的情况下才会想更改这些默认配置。

1. 安装

pip install matplotlib -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

2. 中文问题

matplotlib是Python著名的绘图库,默认并不支持中文显示,因此在不经过修改的情况下,无法正确显示中文。

解决方法如下:

修改matplotlibrc文件

进入Python安装目录下的Lib\site-packages\matplotlib\mpl-data\matplotlibrc文件,删除font.familyfont.sans-serif两行前的#,并在font.sans-serif后添加微软雅黑字体Microsoft YaHei,代码如下:

font.family		: sans-serif
font.sans-serif	: Microsoft YaHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

代码中别忘了unicode编码

# 导入包
import matplotlib.pyplot as plt

# 画图
plt.plot([1, 2, 3, 4])

# 设置X轴名称
plt.xlabel(u'X 轴名称')

# 设置Y轴名称
plt.ylabel(u'Y 轴名称')

# 显示图像
plt.show()

在这里插入图片描述

3. 核心原理

使用matplotlib绘图的原理,主要就是理解figure(画布)、axes(坐标系)、axis(坐标轴)三者之间的关系。

一个figure(画布)上,可以有多个区域axes(坐标系),我们在每个坐标系上绘图,也就是说每个axes(坐标系)中,都有一个axis(坐标轴)。

特别注意 在matplotlib中,figure画布和axes坐标轴是不可见的,我们能够看到的就是基于一个axis坐标轴的各种图形。
在这里插入图片描述

基本流程

1. 导入包

通常来说,matplot的使用会伴随这大量的数据处理,几何函数图像等,所以一般情况下我们还会导入numpy

# 导入包
import matplotlib.pyplot as plt
import numpy as np

2. 创建figure(画布)

创建方式 描述 优点 缺点
隐式创建 系统自动创建画布以及坐标系 简单、快速 拿不到axes对象。无法针对每个做坐标系单独配置
显式创建 自助创建画布以及坐标系 每一个画布、坐标系都可以单独配置。 创建过程较为复杂

隐式创建

# 导入包
import matplotlib.pyplot as plt
import numpy as np

# 大小
plt.figure(figsize=(10, 5))

# 画布名称
plt.title(u"测试图片1")

# X 轴名
plt.xlabel(u"图片1:X")

# Y 轴名
plt.ylabel(u"图片1:Y")

# 轴范围
plt.axis([-10, 10, -1, 1])

# 画图
x = np.linspace(-10, 10, 1000)
y = np.sin(x)
plt.plot(x, y)

# 显示图像
plt.show()

在这里插入图片描述
显式创建

# 导入包
import matplotlib.pyplot as plt
import numpy as np

# 创建画布
fig = plt.figure()

# 大小
fig.figsize = (10, 5)

# 坐标系
ax1 = fig.add_subplot(2, 2, (1, 2))
ax2 = fig.add_subplot(2,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值