Matplotlib通过axis()配置坐标轴数据详解

2024-09-07 15:44

本文主要是介绍Matplotlib通过axis()配置坐标轴数据详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

坐标轴范围设置

axis()可以直接传入列表[xmin,xmax,ymin,ymax]进行范围设置,

分别可以使用plt.axis()或者画布对象.axis()进行配置

import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 20, 100)
y = x*2
plt.plot(x, y, 'r')
plt.axis([0,30,0,100])
plt.savefig('plot1.png')
plt.show()

在不进行传参的时候,调用plt.axis()和画布对象.axis()会返回坐标轴范围元组

import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 20, 100)
y = x*2
plt.plot(x, y, 'r')
plt.axis([0,30,0,100])
print(plt.axis())
print(plt.gca().axis())
plt.savefig('plot1.png')
plt.show()
# (0.0, 30.0, 0.0, 100.0)
# (0.0, 30.0, 0.0, 100.0)

上述代码中的plt.gca()的作用是获取当前的画布对象

关于坐标轴范围配置的详细方法可以参考我的另一篇博客Matplotlib 画板画布设置,网格配置,及刻度设置_matplotlib设置刻度个数-CSDN博客

坐标轴比例设置和裁切

axis()方法中可以直接传入对应的比例设置方法或裁切方法的字符串,主要包括以下几种

'on':打开坐标轴(默认行为)。

'off':关闭坐标轴(不显示刻度和框线)。

'equal':设置 x 轴和 y 轴的比例相同(即单位长度相同)。

'scaled':设置坐标轴自动缩放,使得单位长度相同,但不一定是正方形。

'tight':使坐标轴紧贴数据范围。

'auto':自动调整坐标轴以适应数据。

'image':缩放数据并使其适合坐标轴,保持原始纵横比。

'square':设置坐标轴为正方形。

这里较为常用的有‘off’关闭坐标轴

‘equal’强行使两轴的单位长度相同(注意:这样会破坏原本的坐标轴范围设置)

‘scaled’scale具有调节、绘制的意思,这里也会使两轴单位长度相同,并会根据图像的实际大小范围进行图像裁切

off
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 20, 100)
y = x*2
plt.plot(x, y, 'r')
plt.axis([0,30,0,100])
plt.axis('off')plt.savefig('plot1.png')
plt.show()

equal
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 20, 100)
y = x*2
plt.plot(x, y, 'r')
plt.axis([0,30,0,100])
plt.axis('equal')plt.savefig('plot1.png')
plt.show()
 
scaled
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 20, 100)
y = x*2
plt.plot(x, y, 'r')
plt.axis([0,30,0,100])
plt.axis('scaled')plt.savefig('plot1.png')
plt.show()
 

这篇关于Matplotlib通过axis()配置坐标轴数据详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145478

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多