zoukankan      html  css  js  c++  java
  • Matplotlib基本知识(figure & axes

    figure & axes

    figure相当于绘画用的画板,而axes相当于铺在画板上的画布

    相关知识

    若干图像分开绘制

    import matplotlib.pyplot as plt
    import numpy as np
    x = np.linspace(-10,10,50000)
    y_1 = 2*x
    y_2 = x**2
    
    #Figure_1
    plt.figure(num=1,figsize=(8,5))
    plt.plot(x,y_1)
    
    #Figure_2
    plt.figure(num=2,figsize=(8,5))
    plt.plot(x,y_2)
    plt.show()
    

    这样就可以实现将两个图像分别绘制在两个figure中

    一些参数

    设置x,y轴的范围

    plt.xlim((-1,1))
    plt.ylim((-3,3))
    

    设置x,y轴标签

    plt.xlabel("I am x")
    plt.ylabel("I am y")
    

    设置坐标轴的单位长度

    new_ticks = np.linspace(-1,2,5)
    plt.xticks(new_ticks)
    

    自定义坐标轴的value

    plt.yticks([-1,0,1],['very bad','plain','very good'])
    #更改标签的字体,使用latex语法,注意空格使用转义
    plt.yticks([-1,0,1,2],[r'$very bad$',r'$plain$',r'$very good$',r'alpha'])
    

    这样,y轴的相应数值对成了自定义的标签
    坐标轴的相关操作

    #隐藏坐标轴 gca就是get current axis
    ax = plt.gca()
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    #设置坐标轴
    ax.xaxis.set_ticks_position('bottom')         #设置默认的x轴,bottom or top
    ax.yaxis.set_ticks_position('left')           #设置默认的y轴,left or rigth
    ax.spines['bottom'].set_position(('data',-1)) #移动x轴,使得x轴表示为 y=-1
    ax.spines['left'].set_position(('data',0))    #移动y轴,使得y轴表示为 x=0
    

    综合应用

    代码

    import matplotlib.pyplot as plt
    import numpy as np
    x = np.linspace(-3,3,500)
    y = 2*x
    plt.plot(x,y)
    #1、设置x,y轴的范围
    plt.xlim((-3,3))
    plt.ylim((-6,6))
    #2、设置x,y轴的标签
    plt.xlabel("x")
    plt.ylabel("y")
    #3、设置坐标轴的单位长度
    new_ticks = np.linspace(-3,3,7)  #范围从-3到3,划分为6段
    plt.xticks(new_ticks)
    #4、自定义value,并更改标签的字体(使用latex语法,注意空格使用转义)
    plt.yticks([-6,-2,0,2,6],[r'$very bad$',r'$plain$',r'$very good$',r'$alpha$'])
    #5、隐藏上轴和右轴
    ax = plt.gca()
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    #6、设置x轴为下面的轴,设置y轴为左边的轴
    ax.xaxis.set_ticks_position('bottom')
    ax.yaxis.set_ticks_position('left')
    #7、设置原点的坐标
    ax.spines['bottom'].set_position(('data',0))#x轴表示为y=0
    ax.spines['left'].set_position(('data',1))  #y轴表示为x=1
    
    plt.show()
    

    运行结果

  • 相关阅读:
    Archlinux笔记本安装手记
    linux下activemq安装与配置activemq-5.15.2
    在 CentOS7 上安装 Zookeeper-3.4.9 服务
    VMware虚拟化kvm安装部署总结
    打印机故障总结
    fluentd安装和配置,收集docker日志
    使用Python和AWK两种方式实现文本处理的长拼接案例
    MySQL数据库使用xtrabackup备份实现小例子
    shell脚本实现ftp上传下载文件
    Linux系统中创建大文件,并作为文件系统使用
  • 原文地址:https://www.cnblogs.com/zjx-pku/p/13157914.html
Copyright © 2011-2022 走看看