[小白系列][可视化基础]多个子图(Axes), 使用 subplot() 快速绘制

Hayley ·
更新时间:2024-09-20
· 758 次阅读

文章目录subplot使用情形一:规则划分情形二:不规则划分 subplot使用

subplot:
matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制

subplot(numRows, numCols, plotNum)

图表的整个绘图区域被分成 :

numRows 行和 numCols 列

plotNum 参数指定创建的 Axes 对象所在的区域
然后按照从左到右,从上到下的顺序对每个子区域进行编号,左上的子区域的编号为1

如果 numRows, numCols 和 plotNum 这三个数都小于 10 的话, 可以把它们缩写为一个整数, 例如 subplot(323) 和 subplot(3,2,3) 是相同的.

subplot在 plotNum 指定的区域中创建一个轴对象. 如果新创建的轴和之前创建的轴重叠的话,之前的轴将被删除.

情形一:规则划分 import matplotlib.pyplot as plt plt.figure(figsize=(6,6), dpi=80) plt.figure(1) ax1 = plt.subplot(221) plt.plot([1,2,3,4],[4,5,7,8], color="r",linestyle = "--") ax2 = plt.subplot(222) plt.plot([1,2,3,5],[2,3,5,7],color="y",linestyle = "-") ax3 = plt.subplot(223) plt.plot([1,2,3,4],[11,22,33,44],color="g",linestyle = "-.") ax4 = plt.subplot(224) plt.plot([1,2,3,4],[11,22,33,44],color="b",linestyle = ":")

其中:

plt.figure(figsize=(6,6), dpi=80) figsize表示画板的大小,dpi为图形的分辨率 plt.plot(x,y)plot函数内可以传入两个数据,一个表示横轴一个表示y轴 ax1 = plt.subplot(221) 221表示将画板分成两行两列,取第一个区域,即左上 角区域-plt.figure(1)表示取第一块画板,一个画板即一张图,如果有多个画板,运行完就会打开多张图(多个窗口) color为线的颜色 linestyle为线的形状
在这里插入图片描述 情形二:不规则划分 import matplotlib.pyplot as plt plt.figure(figsize=(6,6), dpi=80) plt.figure(1) ax1 = plt.subplot(221) plt.plot([1,2,3,4],[4,5,7,8], color="r",linestyle = "--") ax2 = plt.subplot(222) plt.plot([1,2,3,5],[2,3,5,7],color="y",linestyle = "-") ax3 = plt.subplot(212) plt.plot([1,2,3,4],[11,22,33,44],color="g",linestyle = "-.")

第三幅图的坐标写成212即可,即把画板重新分成两行一列,取第二个
在这里插入图片描述

import matplotlib.pyplot as plt plt.figure(figsize=(6,6), dpi=80) plt.figure(1) ax1 = plt.subplot(221) plt.plot([1,2,3,4],[4,5,7,8], color="r",linestyle = "--") ax2 = plt.subplot(223) plt.plot([1,2,3,5],[2,3,5,7],color="y",linestyle = "-") ax3 = plt.subplot(122) plt.plot([1,2,3,4],[11,22,33,44],color="g",linestyle = "-.")

第三幅图的坐标写成122即可,即把画板重新分成一行两列,取第二个

在这里插入图片描述


作者:GRIT_Kael



可视化 axes

需要 登录 后方可回复, 如果你还没有账号请 注册新账号