Matplotlib 绘图入门教程

官网

  • Matplotlib 是一款Python可视化编程工具

一些问题

  • plt?
  • plt.subplots ?
  • plt.subplot ?

matplotlib.pyplot

Api参考

import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [1, 2, 3, 4]

绘图

  • 在现实中,当我们绘制[图形]的时候,首先要有一个[画板],然后在画板上面绘制我们的数据图形
  • 在 Matplotlib 工具中,matplotlib.pyplot 提供一个图形界面,来完成上述任务。
plt.plot(x, y)
plt.show()

绘图流程

  1. 首先要有一个画板(图形界面):fig = plt.figure()
  2. 在画板上面选择坐标轴类型:ax = fig.add_axes()
  3. 在坐标系中绘制数据图像:ax.plot()
  4. 显示出来: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进行操作),即使绘制一幅图像也是如此。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年5月21日 上午11:19
下一篇 2022年5月21日

相关推荐