matplotlib多图合一的四种实现(多张图显示在一个figure中)
短信预约 -IT技能 免费直播动态提醒
文章目录
Subplot多合一显示
1 plt.subplot
使用plt.subplot(rownum, columnnum, index)
说明新图纸是几行几列的
import matplotlib.pyplot as pltplt.figure()plt.subplot(2, 2, 1)plt.plot([0, 1], [0, 1])plt.subplot(2, 2, 2)plt.plot([0, 1], [0, 1])plt.subplot(2, 1, 2)plt.plot([0, 1], [0, 1])plt.show()
2 plt.subplot2grid
使用plt.subplot2grid(总格数, 起始格数, rowspan, colspan)
来绘制
import matplotlib.pyplot as pltplt.figure()ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3, rowspan=1)ax1.plot([1, 2], [1, 2])# 设置某属性的时候需要在前面加set_ax1.set_title("ax1 title")ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)ax4 = plt.subplot2grid((3, 3), (2, 0))ax5 = plt.subplot2grid((3, 3), (2, 1))plt.tight_layout()plt.show()
3 gridspec.GridSpec
首先使用gridspec.GridSpec(rownum, colnum)
声明将figure分割成几块,然后在绘图时使用切片声明使用哪几块即可
import matplotlib.pyplot as pltimport matplotlib.gridspec as gridspecplt.figure()gs = gridspec.GridSpec(3, 3)ax1 = plt.subplot(gs[0, :])ax2 = plt.subplot(gs[1, :2])ax3 = plt.subplot(gs[1:, 2])ax4 = plt.subplot(gs[2, 0])ax5 = plt.subplot(gs[2, 1])plt.tight_layout()plt.show()
4 plt.subplots
import matplotlib.pyplot as pltimport matplotlib.gridspec as gridspecf, ((ax11, ax12), (ax21, ax22)) = plt.subplots(2, 2, sharex=True, sharey=True)ax11.plot([1, 2], [1, 2])plt.tight_layout()plt.show()
来源地址:https://blog.csdn.net/qq_46311811/article/details/128662170
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341