• matplotlib中坐标轴控制总结


    matplotlib中对坐标轴的控制:
    坐标轴中包含的对象:
    x轴
    y轴
    top,bottom,right,left线
    坐标刻度
    一、如何控制指定元素不显示?
    ax = plt.gca()
    ax.spines['left'].set_visible(False)
    #想要那一条线不显示,在left部分填写即可
    二、如何控制坐标轴在指定位置显示,如在(0,0)处显示
    ax.spines['left'].set_position(('data',0))
    ax.spines['bottom'].set_position(('data',0))
    三、如何控制坐标轴刻度?
    1.控制坐标轴显示,刻度不显示
    plt.xticks([])
    2.控制坐标轴刻度按照想要的刻度显示
    plt.xticks([i for i in range(1,10)])
    3.如果是时间刻度,时间显示太长,可以将时间斜着显示吗?
    plt.xticks([i for i in range(1,10)],rotation=45)
    四、坐标轴标题控制
    1.显示坐标轴标题
    plt.xlabel('x')
    2.坐标轴标题位置进行选择显示
    

      plt.xlabel('x',loc='left')

    ax = plt.gca()
    # ax.spines['right'].set_color('none')
    # ax.spines['top'].set_color('none')
    ax.spines['right'].set_visible(False)
    ax.spines['top'].set_visible(False)
    ax.spines['left'].set_position(('data',0))
    ax.spines['bottom'].set_position(('data',0))
    # ax.spines['left'].set_visible(False)
    # ax.spines['bottom'].set_visible(False)
    xtick = [i/10 for i in range(-10,10)]
    ytick = [j for j in range(-10,10,2)]
    # result = np.linspace(1,10,100)
    # print(result)
    plt.xticks(xtick,rotation=45)
    plt.yticks(ytick)
    # plt.xlabel('x')
    # plt.ylabel('y')
    ax.set_xlabel('x is none',loc='right',x=0.5,y=0)
    ax.set_ylabel('y is none',loc='top',rotation=55)
    
    
    
    plt.xlim((-1,1))
    plt.ylim((-10,10))
    
    plt.show()

    在这里有几个点想讲一个,matplotlib中对于图表中一些元素的控制会有多个方法,这些方法其实没有好坏,都是一样的,看源码其实就只是对方法的另一种表达而已,但是多种方法实现同一个功能,其实有一些冗余,会让许多人在学习的时候会觉得吃力,因为多了一定的选择,在这里选择更多并不一定是好的,而且只会增加学习成本。所以在使用中,其实我们可以只选择其中的一个方法就可以了,更多的可以用对象的方式去处理,比如这里对坐标轴的控制我们选择了使用ax这个对象,那么我们就可以在后续的操作中都只用这个对象来调用方法即可,其他的方法参考了解一下其实就ok了。

    对于坐标轴的控制其实还没有完结,如双轴图,多个子图的情况下,如果要对其中的子图进行更加精准的控制处理,还需要继续整理。

  • 相关阅读:
    基于ABP的AppUser对象扩展
    SUSE12安装SAP HANA 2.0内存数据库
    Dense embedding model 和 sparse embedding model 对比
    svgrwebpack引入的报错
    Python-Flask,Anaconda结合Pycharm打造第一个“Hello World“程序
    Servlet
    Redis(地理空间Geospatial和HyperLogLog)
    腾讯云服务器CVM和轻量应用服务器区别全方位对比
    曝一段十多年前的“情史”!
    如何通过ADB命令的方式关闭华为系手机的emui系统更新升级?解决:error: no devices/emulators found
  • 原文地址:https://blog.csdn.net/qq_44862918/article/details/126237969