Matplotlib 多个图形
章节
一个图(figure)中可以包含多个子图(subplot)。
subplot
可以使用subplot()
添加子图。
示例
创建2个子图,水平排列。
# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt
# 创建一个新的子图,网格1x2,序号为1,第一个数字是行数,第二个数字是列数,表示子图排列方式,第三个数字是子图的序号
plt.subplot(1, 2, 1)
plt.plot([1,2,3,4], [1,4,9,16], "go") # go 表示green circle,绿色圆点
# 设置子图标题
plt.title("1st subplot")
# 创建一个新的子图,网格1x2,序号为2
plt.subplot(1, 2, 2)
plt.plot([1,2,3,4], [1,4,9,16], "r^") # r^ 表示 红色(red)三角
# 设置子图标题
plt.title("2nd subplot")
# 设置标题
plt.suptitle("2 subplots")
# 显示
plt.show()
输出
如果希望子图垂直排列,可以给subplot()
传递参数(2,1,1)和(2,1,2)。
示例
创建2个子图,垂直排列。
# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt
# 创建一个新的子图,网格2x1,序号为1,第一个数字是行数,第二个数字是列数,表示子图排列方式,第三个数字是子图的序号
plt.subplot(2, 1, 1)
plt.plot([1,2,3,4], [1,4,9,16], "go") # go 表示green circle,绿色圆点
# 设置子图标题
plt.title("1st subplot")
# 创建一个新的子图,网格2x1,序号为2
plt.subplot(2, 1, 2)
plt.plot([1,2,3,4], [1,4,9,16], "r^") # r^ 表示 红色(red)三角
# 设置子图标题
plt.title("2nd subplot")
# 设置标题
plt.suptitle("2 subplots")
# 显示
plt.show()
输出
subplots
subplots()
函数可以一次添加多个子图,注意函数名后面多了个's'。
示例
subplots()
创建多个子图。
# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt
# 准备数据
x = np.arange(1,5)
y = x**3
# 创建多个子图
fig, ax = plt.subplots(nrows=2, ncols=2, figsize=(6,6))
# 绘制图形
ax[0, 1].plot([1,2,3,4], [1,4,9,16], "go") # 绘制第0行第1列的坐标系(子图),go 表示green circle,绿色圆点
ax[0, 1].set_title("green") # 设置子图标题
ax[1, 0].plot([1,2,3,4], [1,4,9,16], "r^") # 绘制第1行第0列的坐标系(子图),r^ 表示 红色(red)三角
ax[1, 0].set_title("red") # 设置子图标题
# 设置标题
plt.suptitle("2 subplots")
# 显示
plt.show()
输出