精华内容
下载资源
问答
  • matplotlib绘制子图

    2021-02-16 09:55:05
    import matplotlib.pyplot as plt x = np.linspace(-100, 100, 1000) y1 = x y2 = x ** 2 y3 = x ** +2 * x fig = plt.figure() subplot1 = fig.add_subplot(3, 1, 1) subplot2 = fig.add_subplot(3, 1, 2) ...
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.linspace(-100, 100, 1000)
    y1 = x
    y2 = x ** 2
    y3 = x ** +2 * x
    
    fig = plt.figure()
    subplot1 = fig.add_subplot(3, 1, 1)
    subplot2 = fig.add_subplot(3, 1, 2)
    subplot3 = fig.add_subplot(3, 1, 3)
    
    subplot1.plot(x, y1, '-r')
    subplot2.plot(x, y2, '-b')
    subplot3.plot(x, y3, '-.g')
    
    plt.ylim(-1000, 1000)
    plt.legend()
    plt.show()
    
    

    在这里插入图片描述
    绘制子图

    fig = plt.figure()
    subplot1 = fig.add_subplot(3, 1, 1)
    subplot2 = fig.add_subplot(3, 1, 2)
    subplot3 = fig.add_subplot(3, 1, 3)
    
    subplot1.plot(x, y1, '-r')
    subplot2.plot(x, y2, '-b')
    subplot3.plot(x, y3, '-.g')
    
    展开全文
  • Matplotlib绘制子图

    2014-04-23 17:13:00
    Matplotlib绘制子图需要subplot函数,该函数的定义如下: 基本的使用方法如下 import numpy as np import matplotlib.pyplot as plt plt.subplot( 3 ...

    Matplotlib中绘制子图需要subplot函数,该函数的定义如下:

    image

    基本的使用方法如下

    
        
    import numpy as np import matplotlib.pyplot as plt plt.subplot( 3 , 1 , 1 ) plt.plot([ 1 , 2 , 3 ]) plt.subplot( 3 , 1 , 2 ) plt.plot([ 1 , 4 , 5 ]) plt.subplot( 3 , 1 , 3 ) plt.plot([ 1 , 3 , 10 ]) plt.show()

    上述代码的执行效果如下:

    image

    subplot方法还有一种简写格式,如果三个参数都是小于10的,可以用一个参数代替,直接把逗号删除,如下面的代码和上面的代码执行效果是一样的。

    
        
    import matplotlib.pyplot as plt plt.subplot( 311 ) plt.plot([ 1 , 2 , 3 ]) plt.subplot( 312 ) plt.plot([ 1 , 4 , 5 ]) plt.subplot( 313 ) plt.plot([ 1 , 3 , 10 ]) plt.show()

    转载于:https://my.oschina.net/bery/blog/225586

    展开全文
  • 9.Matplotlib-绘制子图image扫码关注【牵引小哥讲Python】,关注回复【资源】领取学习资源!原创作者:牵引小哥微信公众号:牵引小哥讲Python注:转载或复制请注明出处——牵引小哥Matplotlib是一个面向对象的绘图库...

    9.Matplotlib-绘制子图

    c9dac04280cc

    image

    扫码关注【牵引小哥讲Python】,关注回复【资源】领取学习资源!

    原创作者:牵引小哥

    微信公众号:牵引小哥讲Python

    注:转载或复制请注明出处——牵引小哥

    Matplotlib是一个面向对象的绘图库。在实际应用中,常常新建一个Figure对象,作为容器。再在Figure对象中创建Axes对象绘图。这样操作,可以理解为在一张画布(Figure)中创建一张图(Axes),也可以创建多个子图。而且,在对坐标轴刻度、标签等进行自定义操作时,一般也是在Axes对象进行。所以本期小哥将介绍几种简单创建Axes对象绘图的方法。

    1. 方法一(add_subplot)

    add_subplot(nrows, ncols, index,**kwargs),其中nrows和ncols表示将一个Figure分割为nrows行ncols列,index表示从上,从左数Axes对象所处位置编号(理解有点头疼,没关系,看例子!),**kwargs是一些其他参数,具体可参考官方说明。

    import numpy as np

    import matplotlib as mpl

    import matplotlib.pyplot as plt

    x=np.linspace(0,2*np.pi,100)

    fig=plt.figure()

    ax1=fig.add_subplot(221)# or (2,2,1),当nrows, ncols, index都小于10时,逗号可省略。

    ax2=fig.add_subplot(222)

    ax3=fig.add_subplot(212)

    ax1.plot(x,np.sin(x))

    ax2.plot(x,np.cos(x))

    ax3.plot(x,np.sin(x)+np.cos(x))

    c9dac04280cc

    Figure_1.png

    各个子图之间的间距可使用plt.subplots_adjust()进行调整。

    如果只需要创建一个Axes对象,如下。

    ax1=fig.add_subplot(111)

    ax1.plot(ax1.plot(x,np.sin(x)))

    c9dac04280cc

    Figure_2.png

    2. 方法二(subplots)

    subplots(nrows=1, ncols=1, sharex=False, sharey=False、、、、、)该函数功能十分强大,更多参数设置可参考官方说明文档。

    创建创建一个Axes对象。

    fig,ax=plt.subplots()

    创建多个Axes对象。

    fig, axs = plt.subplots(2,2)

    axs[0, 0].plot()

    axs[0, 1].plot()

    axs[1, 0].plot()

    axs[1, 1].plot()

    c9dac04280cc

    Figure_3.png

    还可以设置坐标轴共享。

    # Share a X axis with each column of subplots

    plt.subplots(2, 2, sharex='col')

    # Share a Y axis with each row of subplots

    plt.subplots(2, 2, sharey='row')

    # Share both X and Y axes with all subplots

    plt.subplots(2, 2, sharex='all', sharey='all')

    3.方法三(GridSpec)

    gridspec.GridSpec(nrows, ncols、、、、),更多参数设置可参考官方说明文档。

    import matplotlib.pyplot as plt

    from matplotlib.gridspec import GridSpec

    fig = plt.figure()

    gs = GridSpec(2, 2)

    ax1 = fig.add_subplot(gs[0])

    ax2 = fig.add_subplot(gs[1])

    ax3 = fig.add_subplot(gs[2])

    ax4 = fig.add_subplot(gs[3])

    c9dac04280cc

    Figure_4.png

    GridSpec也可通过切片试验画布分割。

    fig = plt.figure()

    gs = GridSpec(3, 3, figure=fig)

    ax1 = fig.add_subplot(gs[0, :])

    # identical to ax1 = plt.subplot(gs.new_subplotspec((0, 0), colspan=3))

    ax2 = fig.add_subplot(gs[1, :-1])

    ax3 = fig.add_subplot(gs[1:, -1])

    ax4 = fig.add_subplot(gs[-1, 0])

    ax5 = fig.add_subplot(gs[-1, -2])

    c9dac04280cc

    Figure_5.png

    小哥Tips:在进行子图区域分割设计时的方法繁多,函数中涉及的参数较为复杂。小哥未能详细讲解,还请见谅!大家可根据小哥提供的官方链接深入学习!

    展开全文
  • 使用matplotlib绘图时通常会绘制子图用于清晰展示,我们通过subplot来绘制子图位置即可。 subplot通常用来定位的参数有三个(行数,列数,子图索引),三个参数用‘,’隔开,也可简化不写“,” 实例代码例如: import ...

    一、 subplot绘制子图

    使用matplotlib绘图时通常会绘制子图用于清晰展示,我们通过subplot来绘制子图位置即可。
    subplot通常用来定位的参数有三个(行数,列数,子图索引),三个参数用‘,’隔开,也可简化不写“,” 实例代码例如:

    import numpy as np
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif']='SimHei'
    plt.rcParams['axes.unicode_minus']=False
    def f(x):
        '''定义要绘制的函数'''
        return x**2
    
    
    plt.figure(figsize=(10,10))#设置画布大小
    x= np.linspace(0,2)
    # 将画布分成2x1的布局,占用第1个(即第2行第1列的子图)
    plt.subplot(211)
    plt.plot(x,f(x))
    plt.title("第一幅子图")
    # 将画布分成2x3的布局,占用第4个(即第2行第1列的子图)
    plt.subplot(234)
    plt.plot(x,f(x))
    plt.title("第二幅子图")
    # 将画布分成2x3的布局,占用第5个(即第2行第2列的子图)
    plt.subplot(235)
    plt.plot(x,f(x))
    plt.title("第三幅子图")
    

    在这里插入图片描述
    但是这种方法有个缺点,比如我想把上述的第三幅子图占据后面的两个子图的位置,用subplot的三个参数是无法做到的,那么这时我们就需要子图的网格布局

    二、自定义网格布局subplot2grid

    2.1参数说明

    subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)
    

    shape:网格的尺寸
    loc:绘制子图位置
    rowspan:轴向下跨距的列数。
    colspan:轴向右跨距的行数。

    2.2示例

    为了实现让第三幅子图占两行,我们使用subplot2grid进行网格布局,

    plt.figure(figsize=(12,8))
    
    #在2行3列的表格中,第一行第一列的位置绘制一个轴向右跨距为3的子图
    plt.subplot2grid((2,3) ,(0, 0), colspan=3)
    plt.title("第一幅子图")
    plt.plot(x,f(x))
    
    #在2行3列的表格中,第2行第1列的位置绘制一个子图
    plt.subplot2grid((2,3), (1, 0))
    plt.title("第二幅子图")
    plt.plot(x,f(x))
    
    plt.subplot2grid((2,3) ,(1, 1), colspan=2)
    plt.title("第三幅子图")
    plt.plot(x,f(x))
    

    在这里插入图片描述

    更多布局:

    fig = plt.figure(figsize=(15,15))
    ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3)
    ax1.set_title("第一幅子图")
    ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)
    ax2.set_title("第二幅子图")
    ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)
    ax3.set_title("第三幅子图")
    ax4 = plt.subplot2grid((3, 3), (2, 0))
    ax4.set_title("第四幅子图")
    ax5 = plt.subplot2grid((3, 3), (2, 1))
    ax5.set_title("第五幅子图")
    plt.show()
    

    在这里插入图片描述

    展开全文
  • 1.绘制子图 使用subplot() 方法,subplot()方法传入numrows,numcols,fignum参数:fignum范围是 1 到numrows*numcols import matplotlib.pyplot as plt import numpy as np x=np.linspace(0.0, 5.0, 50) y1 = np.sin...
  • 本篇文章主要介绍了python中Matplotlib实现绘制3D图的示例代码,具有一定的参考价值,有兴趣的可以了解一下Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现。...
  • Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现。但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三维图像时,同样需要载入 pyplot 模块。...
  • def show_img_bright(rgb,hsv,mask,masked):fig,(ax1,ax2,ax3,ax4) = plt.subplots(1,4,figsize=(10,10))ax1.imshow(rgb)ax2.imshow(hsv[:,:,2],cmap='gray')ax3.imshow(mask,cmap='gray')ax4.imshow(masked[:,:,2],...
  • 本文主要使用matplotlib进行多图的绘制。 %matplotlib notebook import matplotlib from matplotlib import pyplot as plt plt.ion() %matplotlib tk from matplotlib import rcdefaults rcdefaults() import numpy ...
  • 这是你需要做的:import mathimport matplotlib.pylab as pltnrows = int(math.ceil(len(subsl) / 2.))fig, axs = plt.subplots(nrows, 2)ylim = 100000, 600000for ax, subsm in zip(axs.flat, subsl):H7, subsm = ...
  • 当我们要绘制含有多个子图的画布时,很可能遇见需要调整坐标轴的下标排列、范围、是否透明等情况 plt.subplot(121) plt.subplot(122) plt.show() 上图为画两个子图时默认坐标轴 要对坐标轴进行调整,首先得...
  • matplotlib绘制子图(圆,三角函数)

    千次阅读 2019-05-20 17:10:52
    (1) plot1.add_subplot(2,2,1)参数2,2,1表示子图共两行两列,1表示现在绘制第一个子图 (2)下面两句顺序不能颠倒 plt.plot(x,y,color='pink',marker='*') plt.legend(["圆"]) import numpy as np import ...
  • 本节次小宇宙为大家带来使用Matplotlib绘制子图的方法:①需要引入必要的科学库numpy,因为这个库中有我们需要的数学函数,例如余弦函数和指数函数。需要引入图形绘制库matplotlib的pyplot模块。关键词均为‘import...
  • 总括 MATLAB和pyplot有当前的图形(figure)和当前的轴(axes)的概念,所有的作图命令都是对当前的对象作用。可以通过gca()获得当前的...import matplotlib.pyplot as plt def f(t): return np.exp(-t) * np.cos(2...
  • matplotlib实现子图绘制 # 显示多幅图的两种方法 import matplotlib.pyplot as plt plt.figure(figsize=(10,8),dpi=100) plt.subplot(221),plt.imshow(img1,cmap=plt.cm.gray),plt.title('原图') plt.xticks([]),...
  • matplotlib子图绘制坐标系...matplotlib绘制多幅子图和坐标系常用方法如下:pyplot 方式axes面向对象方式matplotlib主要有7种子图分区的方法:方法案例subplot()函数:subplot(nrows,ncols,index,**kwargs)plt.figur...
  • matplotlib子图subplot

    千次阅读 2019-02-27 17:23:40
    使用 matplotlib.subplot 绘制多个子图 subplot(numRows, numCols, plotNum) 每使用一次 subplot 函数,就对图 重新 进行一次划分 参数:numRows, numCols 表示划分为几行几列。 参数:plotNum表示该划分下的第几个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 658
精华内容 263
关键字:

matplotlib绘制子图