zoukankan      html  css  js  c++  java
  • matplotlib 的 subplot, axes and axis

    fig = plt.figure('多图', (10, 10), dpi=80) #第一个指定窗口名称,第二个指定图片大小,创建一个figure对象      
    plt.subplot(222) #2*2的第二个
    plt.axis([0, 6, 0, 20]) #指定坐标轴范围
    t = np.arange(0, 5, 0.2)
    plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') #可以连着写多个
    
    plt.subplot(221) #2*2第一个,这句下面直接写绘图语句和设置语句
    x = np.arange(-10, 10, 0.01)
    y = np.exp(-x)*np.cos(2*np.pi*x)
    plt.plot(x, y, 'r')
    plt.xlim([-10, 10])
    
    plt.show()
    fig.savefig('linshi.png') #保存figure

    2

    源自 matplotlib subplot 子图 - Claroja - CSDN博客 http://blog.csdn.net/claroja/article/details/70841382

    如果不指定figure()的axes,figure(1)命令默认会被建立,同样的如果不指定subplot(numrows, numcols, fignum)的轴axes,subplot(111)也会自动建立。这里,要注意一个概念当前图和当前坐标。所有绘图操作仅对当前图和当前坐标有效

    当前的图表和子图可以使用plt.gcf()和plt.gca()获得,分别表示"Get Current Figure"和"Get Current Axes"。plt.sca (ax1)可以使ax1成为当前axes对象

    plt.figure('第一个')  # 创建第一个画板(figure)
    plt.subplot(211)  # 第一个画板的第一个子图
    plt.plot([1, 2, 3], [1, 2, 3])
    plt.subplot(212)  # 第一个画板的第二个子图
    plt.plot([4, 5, 6], [1, 2, 3])
    
    plt.figure('第二个')  # 创建第二个画板
    plt.plot([4, 5, 6], [1, 2, 3])  # 默认子图命令是spbplot(111)
    
    plt.figure('第一个')  # 如果想对画板1操作,需调取画板1,此时调用中的子图是subplot(212)
    plt.subplot(211)  # 将调用中的子图变为subplot(211)
    plt.title('Easy as 1, 2, 3')
    plt.show()

     要想重新设置,必须重新调用

    3   

    源自 matplotlib subplot 子图 - Claroja - CSDN博客 http://blog.csdn.net/claroja/article/details/70841382

    subplot()是将整个figure均等分割,而axes()则可以在figure上画图

    """axes的使用"""
    
    
    import matplotlib.pyplot as plt
    import numpy as np
    
    # 创建数据
    dt = 0.001
    t = np.arange(0.0, 10.0, dt)
    r = np.exp(-t[:1000]/0.05)  # impulse response
    x = np.random.randn(len(t))  # 从标准正太分布中返回len(t)个随机数
    s = np.convolve(x, r)[:len(x)] * dt  # colored noise
    # 默认主轴图axes是subplot(111)
    plt.plot(t, s)
    plt.axis([0, 1, 1.1*np.amin(s), 2*np.amax(s)])
    plt.xlabel('time(s)')
    plt.ylabel('current(nA)')
    plt.title('Gaussian colored noise')
    # 内嵌图
    a = plt.axes([.65, .6, .2, .2], facecolor='y')  
    # Add an axes to the figure,第一个参数是指定axes的位置和高度,[距左距离,距底距离,宽,高],都是0-1之间,按比例表示
    n, bins, patches = plt.hist(s, 400, normed=1)
    plt.title('probability')
    plt.xticks([])  # 不显示坐标轴标签
    plt.yticks([])
    # 另外一个内嵌图
    b = plt.axes([0.2, 0.6, .2, .2], facecolor='y')
    plt.plot(t[:len(r)], r)
    plt.title('Impulse response')
    plt.xlim(0, 0.2) 
    plt.xticks([])
    plt.yticks([])
    plt.show()

    可以通过clf()清空当前的图板(figure),通过cla()来清理当前的轴(axes)。你需要特别注意的是记得使用close()关闭当前figure画板

  • 相关阅读:
    (打表+优化)简单的求和 -- zzuli -- 1783
    (动态规划)matrix -- hdu -- 5569
    (贪心)School Marks -- codefor -- 540B
    (简单广搜) Ice Cave -- codeforces -- 540C
    (单调队列) Bad Hair Day -- POJ -- 3250
    链接的伪类选择器
    css定位的三种选择器
    选择器分组
    css和html的三种结合方式 页内和页外
    html的Meta标签
  • 原文地址:https://www.cnblogs.com/laumians-notes/p/8182337.html
Copyright © 2011-2022 走看看