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手机号码归属地查询代码
May 04 Python
Python 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
pycharm新建一个python工程步骤
Jul 16 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 Python
Python安装whl文件过程图解
Feb 18 Python
python 实现控制鼠标键盘
Nov 27 Python
python Polars库的使用简介
Apr 21 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通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
js运动事件函数详解
2016/10/21 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
Node.js console控制台简单用法分析
2019/01/04 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
Vue事件修饰符native、self示例详解
2019/07/09 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
复制粘贴功能的Python程序
2008/04/04 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
Python常见字典内建函数用法示例
2018/05/14 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
Pycharm无法打开双击没反应的问题及解决方案
2020/08/17 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
初级Java程序员面试题
2016/03/03 面试题
做一个有道德的人活动实施方案
2014/08/23 职场文书
以权谋私检举信范文
2015/03/02 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
初中体育教学随笔
2015/08/15 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python