zoukankan      html  css  js  c++  java
  • Matplotlib简介和pyplot的简单使用——subplot

    之前介绍了pyplot里画简单的数据曲线,接下来介绍subplot相关的内容。
    subplot是为了在一张图里放多个子图,与Matlab里的subplot类似。

    pyplot是一个有状态的对象,包含了当前的图,画图区域,等。

    pyplot通过调用subplot或者add_subplot来增加子图,

    p1 = plt.subplot(211) 或者 p1 = plt.subplot(2,1,1), 表示创建一个2行,1列的图,p1为第一个子图,
    然后在p1上画曲线,设置标注标题图例等,就可以使用p1来调用相关的函数,
    与pyplot相同的是,可以直接使用pyplot画图,添加label,等,也可以是使用p1来做这些事情。
    与pyplot不同的是,有一些函数的名字不太一样,添加坐标轴的标注的函数为set_xlabel和set_ylabel,
    添加标题set_title,只是给子图添加标题,由于pyplot是一个有状态的对象,所以pyplot.title也是给当前子图添加标题,
    如果要给整个图添加标题,可以使用pyplot.suptitle(text)。

    #!/usr/bin/env python
    
    import numpy as np
    import matplotlib.pyplot as plt
    
    def f1(t):
        return np.exp(-t)*np.cos(2*np.pi*t)
    
    def f2(t):
        return np.sin(2*np.pi*t)*np.cos(3*np.pi*t)
    
    t = np.arange(0.0,5.0,0.02)
    
    plt.figure(figsize=(8,7),dpi=98)
    p1 = plt.subplot(211)
    p2 = plt.subplot(212)
    
    p1.plot(t,f1(t),"g-",label="$f(t)=e^{-t} \cdot \cos (2 \pi t)$")
    p2.plot(t,f2(t),"r-.",label="$g(t)=\sin (2 \pi t) \cos (3 \pi t)$",linewidth=2)
    
    p1.axis([0.0,5.01,-1.0,1.5])
    
    p1.set_ylabel("v",fontsize=14)
    p1.set_title("A simple example",fontsize=18)
    p1.grid(True)
    p1.legend()
    
    p2.axis([0.0,5.01,-1.0,1.5])
    p2.set_ylabel("v",fontsize=14)
    p2.set_xlabel("t",fontsize=14)
    p2.legend()
    
    plt.show()

    最后得到的图如下,

    这些在Matplotlib的手册里面都有,英文的,这里算是翻译吧,顺便总结一下。

  • 相关阅读:
    寒假学习(九)
    寒假学习(八)利用Sqoop导出Hive分析数据到MySQL库
    寒假学习(七)热词统计
    寒假学习(六)统计学生成绩
    寒假学习(五)模拟图形绘制
    寒假学习(四)编写MapReduce程序清洗信件内容数据
    寒假学习(三)北京市政百姓信件分析
    实现地图输出的相关知识
    使用Node.js+Socket.IO搭建WebSocket实时应用
    centos6 安装python3.5后pip无法使用的处理
  • 原文地址:https://www.cnblogs.com/Frandy/p/python_pyplot_subplot.html
Copyright © 2011-2022 走看看