zoukankan      html  css  js  c++  java
  • 【Python】 【绘图】plt.figure()的使用

    1.figure语法及操作
    (1)figure语法说明

    figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

    • num:图像编号或名称,数字为编号 ,字符串为名称
    • figsize:指定figure的宽和高,单位为英寸;
    • dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80      1英寸等于2.5cm,A4纸是 21*30cm的纸张 
    • facecolor:背景颜色
    • edgecolor:边框颜色
    • frameon:是否显示边框

    (2)例子:

    import matplotlib.pyplot as plt
    # 创建自定义图像
    fig=plt.figure(figsize=(4,3),facecolor='blue')
    plt.show()

    2.subplot创建单个子图
    (1) subplot语法

    subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)

    subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图 ,参考下面例子。

    (2)例子

    import numpy as np  
    import matplotlib.pyplot as plt  
    x = np.arange(0, 100)  
    #作图1
    plt.subplot(221)  
    plt.plot(x, x)  
    #作图2
    plt.subplot(222)  
    plt.plot(x, -x)  
     #作图3
    plt.subplot(223)  
    plt.plot(x, x ** 2)  
    plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
    #作图4
    plt.subplot(224)  
    plt.plot(x, np.log(x))  
    plt.show() 

    3.subplots创建多个子图
    (1)subplots语法

    subplots参数与subplots相似

    (2)例子

    import numpy as np  
    import matplotlib.pyplot as plt
    
    x = np.arange(0, 100)  
    #划分子图
    fig,axes=plt.subplots(2,2)
    ax1=axes[0,0]
    ax2=axes[0,1]
    ax3=axes[1,0]
    ax4=axes[1,1]
    
    #作图1
    ax1.plot(x, x)  
    #作图2
    ax2.plot(x, -x)
     #作图3
    ax3.plot(x, x ** 2)
    ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
    #作图4
    ax4.plot(x, np.log(x))  
    plt.show() 

    4.面向对象API:add_subplots与add_axes新增子图或区域
    add_subplot与add_axes都是面对象figure编程的,pyplot api中没有此命令

    (1)add_subplot新增子图

    add_subplot的参数与subplots的相似

    例子

    import numpy as np  
    import matplotlib.pyplot as plt  
    x = np.arange(0, 100)  
    #新建figure对象
    fig=plt.figure()
    #新建子图1
    ax1=fig.add_subplot(2,2,1)      
    ax1.plot(x, x) 
    #新建子图3
    ax3=fig.add_subplot(2,2,3)
    ax3.plot(x, x ** 2)
    ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
    #新建子图4
    ax4=fig.add_subplot(2,2,4)
    ax4.plot(x, np.log(x))  
    plt.show()

    可以用来做一些子图。。。图中图。。。

    (2)add_axes新增子区域

    add_axes为新增子区域,该区域可以座落在figure内任意位置,且该区域可任意设置大小

    add_axes参数可参考官方文档:http://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure

    import numpy as np  
    import matplotlib.pyplot as plt  
    
    #新建figure
    fig = plt.figure()
    # 定义数据
    x = [1, 2, 3, 4, 5, 6, 7]
    y = [1, 3, 4, 2, 5, 8, 6]
    #新建区域ax1
    
    #figure的百分比,从figure 10%的位置开始绘制, 宽高是figure的80%
    left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
    # 获得绘制的句柄
    ax1 = fig.add_axes([left, bottom, width, height])
    ax1.plot(x, y, 'r')
    ax1.set_title('area1')
    
    #新增区域ax2,嵌套在ax1内
    left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
    # 获得绘制的句柄
    ax2 = fig.add_axes([left, bottom, width, height])
    ax2.plot(x,y, 'b')
    ax2.set_title('area2')
    plt.show() 

    —————————————
    版权声明:本文为CSDN博主「欧阳小俊」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/m0_37362454/article/details/81511427

  • 相关阅读:
    关于使用gitlab协同开发提交代码步骤
    一些JavaScript中原理的简单实现
    关于JavaScript中bind、applay、call的区别
    在腾讯云centos7.2上安装配置Node.js记录
    JAVA Web期末项目第三阶段成果
    在腾讯云服务器上安装JDK+Tomcat并启动tomcat
    《JavaScript算法》二分查找的思路与代码实现
    将本地的一个项目托管到自己的GitHub仓库
    《JavaScript算法》常见排序算法思路与代码实现
    项目经理建议:管理时间等于管理自己
  • 原文地址:https://www.cnblogs.com/SupremeBoy/p/12247671.html
Copyright © 2011-2022 走看看