- Matplotlib 是一款Python可视化编程工具
一些问题
- plt?
- plt.subplots ?
- plt.subplot ?
matplotlib.pyplot
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [1, 2, 3, 4]
绘图
- 在现实中,当我们绘制[图形]的时候,首先要有一个[画板],然后在画板上面绘制我们的数据图形
- 在 Matplotlib 工具中,matplotlib.pyplot 提供一个图形界面,来完成上述任务。
plt.plot(x, y)
plt.show()
绘图流程
- 首先要有一个画板(图形界面):fig = plt.figure()
- 在画板上面选择坐标轴类型:ax = fig.add_axes()
- 在坐标系中绘制数据图像:ax.plot()
- 显示出来:plt.show()
# 创建一个画板
fig = plt.figure()
# 在画板上面添加一个坐标轴类型:直角坐标系、极坐标系等
ax = fig.add_axes([1, 1, 1, 1], projection=None)
# 在坐标系中绘制图像
ax.plot(x, y)
# 显示图像
plt.show()
默认操作
# figsize 可以改变背景大,dpi 显示精度
plt.figure(figsize=(1, 1), dpi=150)
# plt.figure() 可以不需要
plt.plot(x, y)
plt.show()
如果我想绘制2幅图像呢?
- 如何确定2幅图像的位置呢?:矩阵角标
- plt.add_subplot()
- 这个时候,默认操作就不行了
# 创建草稿纸
fig = plt.figure(dpi=100)
# 一行两列第一幅
ax1 = fig.add_subplot(121)
ax1.plot(x,y)
# 设置X轴名称
ax1.set_xlabel('xxx')
# 一行两列第二幅
ax2 = fig.add_subplot(122)
ax2.scatter(x,y)
plt.show()
另一种实现方式
- plt.subplot()
ax1 = plt.subplot(121)
ax1.plot(x, y)
ax2 = plt.subplot(122)
ax2.scatter(x, y, color='red')
plt.show()
可不可以直接创建2个图像呢?(最常用)
# fig 接收整个图像信息, ax 接收整个坐标轴信息
fig, (ax1, ax2, ax3) = plt.subplots(3, 1)
ax1.plot(x, y)
ax2.scatter(x, y)
ax3.plot(x, y, color='red')
plt.show()
也可以创建一个图像
fig, ax = plt.subplots()
fig.dpi = 150
ax.plot(x, y)
ax.set_xlabel('xxx')
plt.show()
总结
- 详细介绍了Matplotlib 工具
- 介绍了画图的基本流程
- 最后推荐大家使用:fig.ax = plt,subplots(),因为这个功能更齐全(原因是我们可以直接对ax进行操作),即使绘制一幅图像也是如此。
文章出处登录后可见!
已经登录?立即刷新