python使用Matplotlib改变坐标轴的默认位置


Posted in Python onOctober 18, 2019

使用Matplotlib绘制的图表的默认坐标轴是在左下角的,这样对于一些函数的显示不是非常方便,要改变坐标轴的默认显示方式主要要使用gca()方法

plt.gca()表示 Get current axis,使用这个方法我们可以获得整张图表的坐标对象,这样我们就可以对坐标进行处理了,像移动位置,设置颜色之类的,类似plt.gcf()这个是 Get current figure 即获得当前图表的图像,对图像进行处理。

我们可以定义一个变量接收这个值:

ax = plt.gca()

接下来还要了解一个方法 :spine() 这个单词的意思是脊梁,我的理解就是包围图表的线条,例如:

python使用Matplotlib改变坐标轴的默认位置

其余的两条边也是一样的道理,那么,如果我们要移动坐标到中心点,那么我们可以移动其中的两条边,并隐藏两条边即可:

ax.spines[‘right'].set_color(‘none')
ax.spines[‘top'].set_color(‘none')

ax.xaxis.set_ticks_position(‘bottom')
ax.yaxis.set_ticks_position(‘left')

这时候做坐标轴只剩下两条线,接下来就是指定x轴以及y轴的绑定:

ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 0))

这样写的结果是将x,y轴绑定到特定位置,至于这两个的值,其实试几次就好理解了,上面的这种情况是坐标轴的交点是(0, 0),如果改成:

ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 1))

这样两个坐标轴的交点就是(1,0).

完整代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-5, 5, 100)
y1 = 0.5 * x
y2 = x * x

plt.figure()
plt.xlabel('X axis...')
plt.ylabel('Y axis...') #设置坐标轴的文字标签

ax = plt.gca() # get current axis 获得坐标轴对象

ax.spines['right'].set_color('none') 
ax.spines['top'].set_color('none') # 将右边 上边的两条边颜色设置为空 其实就相当于抹掉这两条边

ax.xaxis.set_ticks_position('bottom') 
ax.yaxis.set_ticks_position('left') # 指定下边的边作为 x 轴 指定左边的边为 y 轴

ax.spines['bottom'].set_position(('data', 0)) #指定 data 设置的bottom(也就是指定的x轴)绑定到y轴的0这个点上
ax.spines['left'].set_position(('data', 0))

plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)

plt.show()

效果如下:

python使用Matplotlib改变坐标轴的默认位置

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用win32com在百度空间插入html元素示例
Feb 20 Python
在Python中封装GObject模块进行图形化程序编程的教程
Apr 14 Python
django框架如何集成celery进行开发
May 24 Python
python机器人行走步数问题的解决
Jan 29 Python
Python定时任务sched模块用法示例
Jul 16 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
python+splinter实现12306网站刷票并自动购票流程
Sep 25 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
Sep 23 Python
python二维图制作的实例代码
Dec 03 Python
用Python可视化新冠疫情数据
Jan 18 Python
python调用Matplotlib绘制分布点图
Oct 18 #Python
Python 异常处理Ⅳ过程图解
Oct 18 #Python
python库matplotlib绘制坐标图
Oct 18 #Python
python实现WebSocket服务端过程解析
Oct 18 #Python
django实现支付宝支付实例讲解
Oct 17 #Python
python通过实例讲解反射机制
Oct 17 #Python
python集合常见运算案例解析
Oct 17 #Python
You might like
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
如何实现JS函数的重载
2006/09/22 Javascript
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
python中map、any、all函数用法分析
2015/04/21 Python
Python实现完整的事务操作示例
2017/06/20 Python
Django数据库操作的实例(增删改查)
2017/09/04 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
公司面试感谢信
2014/02/01 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
对孩子的寄语
2014/04/09 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
电工实训心得体会
2016/01/14 职场文书
Consul在linux环境的集群部署
2022/04/08 Servers