美文网首页
matplotlib_basic_设置坐标轴2

matplotlib_basic_设置坐标轴2

作者: Ledestin | 来源:发表于2017-05-17 23:56 被阅读56次

    本文介绍如何移动matplotlib 中 axis 坐标轴的位置,使用.spines设置边框:x轴,y轴;使用.set_position设置边框位置:x=0,y=0的位置;使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置;使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置


    Demo.py

    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((-1, 2))
    plt.ylim((-2, 3))
    
    new_ticks = np.linspace(-1, 2, 5)
    plt.xticks(new_ticks)
    plt.yticks([-2, -1.8, -1, 1.22, 3],['$really\ bad$', '$bad$', '$normal$', '$good$', '$really\ good$'])
    
    ax = plt.gca()#使用plt.gca获取当前坐标轴信息
    ax.spines['right'].set_color('none')#使用.spines设置边框:右侧边框;使用.set_color设置边框颜色:默认白色
    ax.spines['top'].set_color('none')#使用.spines设置边框:上边框;使用.set_color设置边框颜色:默认白色
    
    plt.show()#figure1
    ax.xaxis.set_ticks_position('bottom')#使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:bottom.(所有位置:top,bottom,both,default,none)
    ax.spines['bottom'].set_position(('data', 0))#使用.spines设置边框:x轴;使用.set_position设置边框位置:y=0的位置;(位置所有属性:outward,axes,data)
    plt.show()#figure2
    
    ax.yaxis.set_ticks_position('left')#使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left.(所有位置:left,right,both,default,none)
    ax.spines['left'].set_position(('data',0))#使用.spines设置边框:y轴;使用.set_position设置边框位置:x=0的位置;(位置所有属性:outward,axes,data)
    plt.show()#figure3
    
    

    结果:

    Paste_Image.png Paste_Image.png Paste_Image.png

    相关文章

      网友评论

          本文标题:matplotlib_basic_设置坐标轴2

          本文链接:https://www.haomeiwen.com/subject/dyejxxtx.html