matplotlib版本:3.7.5
numpy版本:1.24.3
pandas版本:2.0.3
导包构造数据
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd# %matplotlib inlinea = np.linspace(0, 2 * np.pi, 100)
asin = np.sin(a)
acos = np.cos(a)
atan = np.tan(a)
aexp = np.exp(a)
基本绘图
# 基础绘图的一些设置
plt.plot(a, asin, "r--", label="sin(x)") # 红色 虚线
plt.xlabel("x") # x轴
plt.ylabel("y") # y轴
plt.title("function title") # 标题
plt.legend() # 显示图例,否则无图例
plt.grid(True) # 显示网格
plt.show()
多个图画像在一起
# 在一个图像里画多个函数图像
plt.plot(a, asin, "r--", a, acos, "b*")
子图绘制
行排列,两行一列,三行一列等
# 两行一列布局的第一个子图,绘图命令将作用于这个子图上
plt.subplot(2, 1, 1)plt.plot(a, asin, "b--")
plt.ylabel("y1")
plt.grid(True)# 两行一列布局的第二个子图,绘图命令将作用于这个子图上
plt.subplot(2, 1, 2)plt.plot(a, acos, "r--")
plt.ylabel("y2")# 统一设置x轴
plt.xlabel("x")# !! 三行一列的子图可以使用如下布局
# plt.subplot(311)
# plt.plot(...)
# plt.subplot(312)
# plt.plot(...)
# plt.subplot(313)
# plt.plot(...)
行列并排,两行两列等
# 同一张图两行两列的布局
figture, ax = plt.subplots(2, 2)
print(figture)
# Figure(640x480)
print(ax)
# [[<Axes: > <Axes: >]
# [<Axes: > <Axes: >]]ax[0, 0].plot(a, asin, "r--", label="asin")
ax[0, 0].legend()ax[0, 1].plot(a, acos)ax[1, 0].plot(a, aexp)# 设置子图之间的间隔
figture.tight_layout(pad=1.08)