Matplotlib基础(一)—-三层和绘图流程
在平时处理数据的时候,因为数据可视化更能显示数据的关系。而python中的matplotlib库很好地提供了我们2D绘图的方式。于是我打算系统且详细的学习matplotlib,并尽可能地总结各种用法。这个系列就是我我的学习经验总结。
下载并导入matplotlib库
在Pycharm左下方的Python Packages可以快速搜索并下载我们需要的第三方库。
搜索并下载matplotlib库
接着就可以直接import并使用了
import matplotlib
以后matplotlib
中使用的方法大部分是matplotlib
中的pyplot
方法。为了使用方便,做了以下简化。
import matplotlib.pyplot as plt
创建画布(容器层)
matplotlib绘图分为三层。一是容器层,就是我们需要帮图表放置的地方,使用figure()
对画布进行实例化
fig = plt.figure()
可以往里面传入参数。一般使用到的参数为figsize(画布大小),dpi(像素点)。例如以下:
fig = plt.figure(figsize=(7, 10), dpi=100)
创建坐标系(辅助显示层)
在绘制需要的图表之前,前提是有一个辅助显示层,也就是常说的坐标系。使用subplot
实例化坐标系
ax = plt.subplot(1, 1, 1)
# 或者ax = plt.subplot(111)
三个参数表示着ax为fig的1行1列的坐标系组里第一个
坐标系拥有的属性如下表所示
属性 | 含义 |
---|---|
facecolor | 外观 |
spine | 边框线 |
axis | 坐标轴 |
axis_label | 坐标轴标签 |
tick | 刻度 |
tick_label | 刻度标签 |
grid | 网格 |
title | 标题 |
legend | 图例 |
坐标系的属性设置方法将在后面详细说明。
绘图(图像层)
准备好画布和坐标系后,就可以开始绘制目标图表了。这里我不打算详细介绍所有的绘制方法,而是会分成以下几节来详细讲解,这里对这部分做一个简单的说明。用最常用的plot()
在坐标系中画出需要的曲线。
ax.plot(x, y)
绘图过程
- 创建画布和坐标系(实例化fig和ax)
- 绘制图像(plot)
- 显示图像(show)
示例如下
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi)
fig = plt.figure(figsize=(6, 6), dpi=100)
ax = plt.subplot(111)
ax.plot(x, np.sin(x))
plt.show()
图片如下
注意:
如果末尾没有添加plt.show()
行,则创建的图像将一直在缓存中,不会显示。
保存图片
如果需要保存绘制的图像,需要将缓存中的图像保存到plt.show()
之前的目标路径。使用的方法是plt.savefig()
,需要传入的参数是目标路径的字符串。
修改如下:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi)
fig = plt.figure(figsize=(6, 6), dpi=100)
ax = plt.subplot(111)
ax.plot(x, np.sin(x))
plt.savefig('fig1.png')
plt.show()
图像将保存在当前目录文件夹中
总结:
- matplotlib库的下载与导入
- 三层结构简介
- 绘图过程
- 图像保存
文章出处登录后可见!
已经登录?立即刷新