• matplotlib(6)-- subplot创建; subplot2grid ;GridSpec ;不同subplot坐标轴共享


     1 import matplotlib.pyplot as plt
     2 
     3 # example 1:
     4 ###############################
     5 plt.figure(figsize=(6, 4))
     6 # plt.subplot(n_rows, n_cols, plot_num)
     7 plt.subplot(2, 2, 1)
     8 plt.plot([0, 1], [0, 1])
     9 
    10 plt.subplot(2, 2, 2)
    11 plt.plot([0, 1], [0, 2])
    12 
    13 plt.subplot(2, 2, 3)
    14 plt.plot([0, 1], [0, 3])
    15 
    16 plt.subplot(2, 2, 4)
    17 plt.plot([0, 1], [0, 4])
    18 
    19 plt.tight_layout()
    20 
    21 # example 2:
    22 ###############################
    23 plt.figure(figsize=(6, 4))
    24 # figure splits into 2 rows, 1 col, plot to the 1st sub-fig
    25 plt.subplot(2, 1, 1)
    26 plt.plot([0, 1], [0, 1])
    27 # figure splits into 2 rows, 3 col, plot to the 4th sub-fig
    28 plt.subplot(2, 3, 4)
    29 plt.plot([0, 1], [0, 2])
    30 # figure splits into 2 rows, 3 col, plot to the 5th sub-fig
    31 plt.subplot(2, 3, 5)
    32 plt.plot([0, 1], [0, 3])
    33 # figure splits into 2 rows, 3 col, plot to the 6th sub-fig
    34 plt.subplot(2, 3, 6)
    35 plt.plot([0, 1], [0, 4])
    36 
    37 plt.tight_layout()
    38 
    39 plt.show()
     1 import matplotlib.pyplot as plt
     2 import matplotlib.gridspec as gridspec
     3 
     4 # method 1: subplot2grid
     5 ##########################
     6 plt.figure()
     7 #整个figure为 3*3
     8 ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3)  #ax1起始是第一行第一列,占一行三列
     9 #plt.subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)
    10 #参数解释:
    11 # shape : sequence of 2 ints
    12 # loc : sequence of 2 ints
    13 # rowspan : int    Number of rows for the axis to span to the right.
    14 # colspan : int    Number of columns for the axis to span downwards.
    15 # rowspan、colspan默认值为1
    16 ax1.plot([1, 2], [1, 2])
    17 ax1.set_title('ax1_title')
    18 ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)   #ax2起始为第二行第一列,占一行两列
    19 ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)   #ax3起始为第二行第三列,占两行一列
    20 ax4 = plt.subplot2grid((3, 3), (2, 0))  #ax4起始为第三行第一列,占一行一列,散点图
    21 ax4.scatter([1, 2], [2, 2])
    22 ax4.set_xlabel('ax4_x')
    23 ax4.set_ylabel('ax4_y')
    24 ax5 = plt.subplot2grid((3, 3), (2, 1)) #ax5起始为第三行第二列,占一行一列
    25 
    26 # method 2: gridspec
    27 #########################
    28 plt.figure()
    29 gs = gridspec.GridSpec(3, 3)
    30 # use index from 0
    31 ax6 = plt.subplot(gs[0, :])
    32 ax7 = plt.subplot(gs[1, :2])
    33 ax8 = plt.subplot(gs[1:, 2])
    34 ax9 = plt.subplot(gs[-1, 0])
    35 ax10 = plt.subplot(gs[-1, -2])
    36 
    37 #这里理解矩阵切片相关知识很好理解,矩阵切片相关知识,参考博客  https://blog.csdn.net/u014453898/article/details/73430907
    38 
    39 # method 3: easy to define structure
    40 ####################################
    41 f, ((ax11, ax12), (ax13, ax14)) = plt.subplots(2, 2, sharex = True, sharey = True)      #不同subplot共享x,y轴
    42 ax11.scatter([1,2], [1,2])
    43 
    44 plt.tight_layout()
    45 plt.show()
  • 相关阅读:
    垂直的SeekBar:VerticalSeekBar
    android 获取路径目录方法以及判断目录是否存在,创建目录
    JSON
    列表和导航
    【前端积累】链接
    【前端积累】背景图像和背景替换
    【前段积累】可视化模型
    【前端积累】选择器
    银联支付-产品测试sdk使用流程
    【CSS系列】块级元素和行内元素
  • 原文地址:https://www.cnblogs.com/guoruxin/p/11248287.html
Copyright © 2020-2023  润新知