温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置

Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置

发布时间:2023-04-20 11:34:35 阅读:242 作者:iii 栏目:开发技术
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

今天小编给大家分享一下Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    一、默认情况下绘图

    本例使用我国1953-2021年的“人均GDP同比增长率(%)”来进行演示,数据来源于wind,数据概况如下:

    GDP = [13.11.84.612.72.418.46.9-0.2-26.5-6.37.6, 
           15.514.27.6-8.1-6.513.816.14.21.35.30.2, 
           6.8-3.16.110.26.26.53.87.49.213.711.97.3, 
           9.99.42.62.47.812.812.611.89.88.88.16.8, 
           6.77.67.68.49.49.510.712.113.69.18.910.1, 
           9.07.17.16.86.46.26.36.35.62.18.0]
     
    Year = [1953195419551956195719581959196019611962, 
            1963196419651966196719681969197019711972, 
            1973197419751976197719781979198019811982, 
            1983198419851986198719881989199019911992, 
            1993199419951996199719981999200020012002, 
            2003200420052006200720082009201020112012, 
            201320142015201620172018201920202021]

    简单参数情况下,绘图代码如下:

    plt.figure(figsize=(6,4),dpi=100)
    plt.plot(Year, GDP,
             color='darkblue',
             linewidth='0.8',
             label='中国人均GDP年实际增速')
     
    plt.xlabel('年份')
    plt.ylabel('人均GDP同比增长(%)') 
    plt.legend(loc='lower right')
    plt.grid(alpha=0.4,linestyle=':')
    plt.show()

    代码执行效果如下图:

    Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置

    二、对图表进行调整 

    调整要求:

    1、调整坐标上方和右方坐标轴;

    2、将X轴调整至y=0处;

    3、将y轴标签“人均GDP同比增长(%)”调整至y轴上方,并调整方向为水平;

    4、将x轴调整后,刻度标签跟随移动,我们将x轴刻度标签保留在图表最下方。

    (一)调整坐标轴

    去掉坐标的上方和右方坐标轴,再将X轴移动到y=0处。

    plt.figure(figsize=(6,4),dpi=100)
    plt.plot(Year, GDP,
             color='darkblue',
             linewidth='0.8',
             label='中国人均GDP年实际增速')
     
    ax = plt.subplot()
    ax.spines['top'].set_visible(False#设置坐标轴,下同
    ax.spines['right'].set_visible(False)
    ax.spines['bottom'].set_position(('data',0))
     
    plt.xlabel('年份')
    plt.ylabel('人均GDP同比增长(%)') 
    plt.legend(loc='lower right')
    plt.grid(alpha=0.4,linestyle=':')
    plt.show()

    调整坐标轴和调整X轴的效果如下:

    Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置

    (二)调整X轴、Y轴标签位置、方向和X轴刻度标签位置

    下面请看代码,代码中的参数的相关数据可以根据实际需要进行调整:

    plt.figure(figsize=(6,4),dpi=100)
    plt.plot(Year, GDP,
             color='darkblue',
             linewidth='0.8',
             label='中国人均GDP年实际增速')
     
    ax = plt.subplot()
    ax.spines['top'].set_visible(False)  #设置坐标轴,下同
    ax.spines['right'].set_visible(False)
    ax.spines['bottom'].set_position(('data',0))
     
    plt.xlabel('年份',
               labelpad=-12,  #调整x轴标签与x轴距离
               x=1.04,  #调整x轴标签的左右位置
               fontsize=9)
    plt.ylabel('人均GDP同比增长(%)',
               labelpad=-40,  #调整y轴标签与y轴的距离
               y=1.02,  #调整y轴标签的上下位置
               rotation=0,fontsize=9) 
     
    plt.xticks(np.arange(1953,2024,5),
               rotation=45,
               position=(0,-29), #调整年份的位置,让远离了x轴
               fontsize=9) 
    plt.yticks(np.arange(-30,21,5),fontsize=9)
     
    plt.legend(fontsize=9,
               bbox_to_anchor=(0.7,-0.1), #图例的框位置,调整到坐标轴外
               frameon=False)  #图例的边框开关
     
    plt.grid(alpha=0.4,linestyle=':')
    plt.show()

    调整坐标轴标签,以及x轴刻度标签位置的效果如下:

    Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置

    本例只是为了演示调整坐标轴、X轴位置,调整坐标轴标签和方向、调整x轴刻度标签,其余的图形效果可以自行调整设计。

    附:坐标轴刻度(tick label)

    修改 tick label 字号大小,当我们的 figure 上只有一套 axes 时,使用 plt.tick_params 的参数 labelsize 可以修改坐标轴刻度字号。

    fig = plt.figure()
    plt.plot(x,y)
    plt.tick_params(labelsize=15)  # here
    plt.show()

    如果使用的是 axes 对象,也可以通过 .tick_params(labelsize) 来进行指定。

    fig = plt.figure()
    axes = plt.subplot(111)
    axes.plot(x,y)
    axes.tick_params(labelsize=15)  # here
    plt.show()

    Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置

    以上就是“Python matplotlib怎么调整坐标轴位置、标签位置、标签方向及X轴刻度标签位置”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

    亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    原文链接:https://blog.csdn.net/m0_56102834/article/details/127817911

    AI

    开发者交流群×