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

发布时间:2023-04-20 11:34:35 作者:iii
来源:亿速云 阅读:238

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

一、默认情况下绘图

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

GDP = [13.1, 1.8, 4.6, 12.7, 2.4, 18.4, 6.9, -0.2, -26.5, -6.3, 7.6, 
       15.5, 14.2, 7.6, -8.1, -6.5, 13.8, 16.1, 4.2, 1.3, 5.3, 0.2, 
       6.8, -3.1, 6.1, 10.2, 6.2, 6.5, 3.8, 7.4, 9.2, 13.7, 11.9, 7.3, 
       9.9, 9.4, 2.6, 2.4, 7.8, 12.8, 12.6, 11.8, 9.8, 8.8, 8.1, 6.8, 
       6.7, 7.6, 7.6, 8.4, 9.4, 9.5, 10.7, 12.1, 13.6, 9.1, 8.9, 10.1, 
       9.0, 7.1, 7.1, 6.8, 6.4, 6.2, 6.3, 6.3, 5.6, 2.1, 8.0]
 
Year = [1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 
        1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 
        1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 
        1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 
        1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
        2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 
        2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021]

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

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轴刻度标签位置”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. 如何编写蜡烛图金融代码
  2. python中如何使用Matplotlib绘制直线

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

matplotlib python

上一篇:Python如何实现二分法查找及优化

下一篇:Java中的悲观锁和乐观锁怎么实现

相关阅读

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

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》