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()
    

    运行结果

  • 相关阅读:
    NVIDIA Jetson TX2刷机
    安装python2和3在centos7里面的问题
    js和DOM结合实现评论功能 (可以添加,删除)
    js实现计时
    js获取星期日期
    js登录界面演示
    下拉列表演示
    html表单练习
    一个底层w32汇编的小例子,演示 原创
    invoke和call的区别
  • 原文地址:https://www.cnblogs.com/zjx-pku/p/13157914.html
Copyright © 2011-2022 走看看