美文网首页
matplotlib_subplot分格显示

matplotlib_subplot分格显示

作者: Ledestin | 来源:发表于2017-05-18 18:41 被阅读109次

    matplotlib 的 subplot 还可以是分格的,这里介绍三种方法.

    • Method 1: subplot2grid
    • Method 2: gridspec
    • Method 3: subplots

    Demo.py

    import matplotlib.pyplot as plt
    plt.figure(num=1, figsize=(8, 5),)
    #使用plt.subplot2grid来创建第1个小图, (3,3)表示将整个图像窗口分成3行3列,
    # (0,0)表示从第0行第0列开始作图,colspan=3表示列的跨度为3, rowspan=1表示行的跨度为1. 
    #colspan和rowspan缺省, 默认跨度为1
    ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3)
    ax1.plot([1, 2], [1, 2])    # 画小图
    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))
    #使用ax4.scatter创建一个散点图, 使用ax4.set_xlabel和ax4.set_ylabel来对x轴和y轴命名.
    ax4.scatter([1, 2], [2, 2])
    ax4.set_xlabel('ax4_x')
    ax4.set_ylabel('ax4_y')
    
    #method2 gridspec
    
    import matplotlib.pyplot as plt
    import matplotlib.gridspec as gridspec
    
    plt.figure(num=1, figsize=(8, 5),)
    gs = gridspec.GridSpec(3, 3)
    #使用plt.subplot来作图,
    ax6 = plt.subplot(gs[0, :])#gs[0, :]表示这个图占第0行和所有列,
    ax7 = plt.subplot(gs[1, :2])#gs[1, :2]表示这个图占第1行和第2列前的所有列, 
    ax8 = plt.subplot(gs[1:, 2])#gs[1:, 2]表示这个图占第1行后的所有行和第2列,
    ax9 = plt.subplot(gs[-1, 0])#gs[-1, 0]表示这个图占倒数第1行和第0列,
    ax10 = plt.subplot(gs[-1, -2])#gs[-1, -2]表示这个图占倒数第1行和倒数第2列.
    
    #method3 subplots
    
    import matplotlib.pyplot as plt
    plt.figure()
    #使用plt.subplots建立一个2行2列的图像窗口,
    #sharex=True表示共享x轴坐标, sharey=True表示共享y轴坐标. 
    #((ax11, ax12), (ax13, ax14))表示第1行从左至右依次放ax11和ax12, 
    #第2行从左至右依次放ax13和ax14.
    f, ((ax11, ax12), (ax13, ax14)) = plt.subplots(2, 2, sharex=True, sharey=True)
    
    #使用ax11.scatter创建一个散点图.
    ax11.scatter([1,2], [1,2])
    #plt.tight_layout()表示紧凑显示图像, plt.show()表示显示图像.
    plt.tight_layout()
    plt.show()
    

    结果:
    method1 subplot2grid


    Paste_Image.png

    method2 gridspec


    Paste_Image.png
    method3 subplots
    Paste_Image.png

    相关文章

      网友评论

          本文标题:matplotlib_subplot分格显示

          本文链接:https://www.haomeiwen.com/subject/plssxxtx.html