• matplotlib 的几种风格 练习


    〇、准备数据

    import numpy as np
    
    x = np.linspace(0, 5, 10)
    y = x ** 2
    

    一、matlab风格的API

    1.单图
    from pylab import *
    
    figure()
    plot(x, y, 'r')
    xlabel('x')
    ylabel('y')
    title('title')
    show()
    
    2.多子图
    subplot(1,2,1)
    plot(x, y, 'r--')
    subplot(1,2,2)
    plot(y, x, 'g*-');
    

    二、matplotlib面向对象风格的API:

    1.两步走:先创建figure实例、接着创建axes实例

    a.单图
    fig = plt.figure()
    
    # 不关心位置
    axes = fig.add_subplot(1, 1, 1)
    
    # 关心位置
    axes = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # left, bottom, width, height (range 0 to 1)
    
    axes.plot(x, y, 'r')
    
    axes.set_xlabel('x')
    axes.set_ylabel('y')
    axes.set_title('title');
    
    b.多子图
    fig = plt.figure()
    
    # 不关心位置
    axes1 = fig.add_subplot(2, 1, 1)
    axes2 = fig.add_subplot(2, 1, 2)
    
    # 关心位置
    axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes
    axes2 = fig.add_axes([0.2, 0.5, 0.4, 0.3]) # inset axes
    
    # main figure
    axes1.plot(x, y, 'r')
    axes1.set_xlabel('x')
    axes1.set_ylabel('y')
    axes1.set_title('title')
    
    # insert
    axes2.plot(y, x, 'g')
    axes2.set_xlabel('y')
    axes2.set_ylabel('x')
    axes2.set_title('insert title')
    

    2.一步走:同时创建figure、axes实例

    a.单图(不关心位置)
    fig, axes = plt.subplots()
    
    axes.plot(x, y, 'r')
    axes.set_xlabel('x')
    axes.set_ylabel('y')
    axes.set_title('title')
    
    b.多子图(不关心位置)

    1)单行,或者单列

    fig, axes = plt.subplots(nrows=1, ncols=2)
    
    for ax in axes:
        ax.plot(x, y, 'r')
        ax.set_xlabel('x')
        ax.set_ylabel('y')
        ax.set_title('title')
    

    2)多行多列

    fig, axes = plt.subplots(nrows=3, ncols=2, sharex=True)
    
    # 此处不能用 for ax in axes:
    for i in range(6):
        axes[i//2, i%2].plot(x, y, 'r')
        axes[i//2, i%2].set_xlabel('x')
        axes[i//2, i%2].set_ylabel('y')
        axes[i//2, i%2].set_title('title')
    
  • 相关阅读:
    初试Shell脚本
    iOS分类Category探索
    cocoaPods安装爬坑总结
    关于FFmpeg工具的使用总结
    关于Boost在工程下的配置
    关于Phabricator Arcanist以及提交项目代码
    关于visual studio的一些日常总结
    关于Python在Linux、Mac和Windows上的安装方法总结
    TextSwitcher 文本切换器的功能与用法
    Android必知必会-App 常用图标尺寸规范汇总
  • 原文地址:https://www.cnblogs.com/hhh5460/p/5632601.html
Copyright © 2020-2023  润新知