zoukankan      html  css  js  c++  java
  • matplotlib的学习4-设置坐标轴

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-3, 3, 50)
    y1 = 2*x + 1
    y2 = x**2
    
    
    plt.figure()
    plt.plot(x, y2)
    plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
    
    
    '''
    使用plt.xlim设置x坐标轴范围:(-1, 2);
    使用plt.ylim设置y坐标轴范围:(-2, 3);
    使用plt.xlabel设置x坐标轴名称:’I am x’
    使用plt.ylabel设置y坐标轴名称:’I am y’;
    '''
    plt.xlim((-1, 2))
    plt.ylim((-2, 3))
    plt.xlabel('I am x')
    plt.ylabel('I am y')
    
    # 使用plt.xticks设置x轴刻度:范围是(-1,2);个数是5.
    new_ticks = np.linspace(-1, 2, 5)
    print(new_ticks)
    plt.xticks(new_ticks)#设置x轴的刻度
    
    #使用plt.yticks设置y轴刻度以及名称,前面的参数是刻度,后面的参数是名称
    
    plt.yticks([-2, -1.8, -1, 1.22, 3],[r'$really bad$', r'$bad$', r'$normal$', r'$good$', r'$really good$'])
    
    
    
    ax = plt.gca()#获取当前坐标轴的信息
    ax.spines['right'].set_color('none')#spines函数设置边框:右侧边框设为默认白色
    ax.spines['top'].set_color('none')#顶端边框设为默认颜色白色
    
    # todo 调整坐标轴
    
    # 使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:bottom.(所有位置:top,bottom,both,default,none)
    
    ax.xaxis.set_ticks_position('bottom')#把x坐标放在x坐标轴的下面
    
    
    # 使用.spines设置边框:x轴;使用.set_position设置边框位置:y=0的位置;(位置所有属性:outward,axes,data)
    ax.spines['bottom'].set_position(('data', 0))
    
    # 使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left.(所有位置:left,right,both,default,none)
    
    ax.yaxis.set_ticks_position('left')
    ax.spines['left'].set_position(('data',0))
    # 使用.spines设置边框:y轴;使用.set_position设置边框位置:x=0的位置;(位置所有属性:outward,axes,data) 使用plt.show显示图像.
    plt.show()
    

     xy坐标的范围可以通过lim来实现,坐标轴名称也很好实现

    plt.xticks([-1,2,5])表示设置x轴的刻度,在-1到2之间,有5个刻度

    还可以给刻度添加名字

    ax = plt.gca()用于获取当前坐标轴的信息

    ax.spines('top').set_color('none') 把顶端边框设为默认的颜色白色

    还可以调整坐标轴的位置

  • 相关阅读:
    java之扩展运算符
    error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义
    MinGW
    Gcc/MinGW/Cygwin/Msys 分别是什么?
    开源项目:windows下使用MinGW+msys编译ffmpeg
    MinGW安装和使用基础教程
    基于UDP高性能传输协议UDT doc翻译(一)
    基于UDT connect连接通信以及文件传输--客户端
    基于UDT connect连接通信以及文件传输--服务端
    FreeSWITCH第三方库(其他)的简单介绍(三)
  • 原文地址:https://www.cnblogs.com/simon-idea/p/9579413.html
Copyright © 2011-2022 走看看