当前位置: 首页 > news >正文

python画图|被忽视的坐标轴比例ax.set_box_aspect()函数

【1】引言

自python画图这个系列开始写以来,每次都会输出不同图形。

其实越写越觉得值得钻研的东西太多,制约学习进度的往往是非常基础的知识。

今天在学习的时候,想到用参数化方程简单输出一个圆,发现竟然输出了椭圆,检查数学方程对应的代码无误后,猛然发现根本原因居然是X轴和Y轴的比例不同。

其实以前学习的进程中也曾看到设置X轴和Y轴为等比例坐标轴的代码,但从未在意,今天就一起好好学习一下,基础知识努力加深是肯定有益的。

【2】代码探索

我们尝试画一个圆形。

首先,引入画图和计算模块:

import matplotlib.pyplot as plt #引入画图模块
import numpy as np #引入计算模块

然后定义要画图:

fig,ax=plt.subplots() #定义画图

之后定义自变量和因变量参数方程:

t=np.linspace(0,6.28,500) #定义自变量参数
r=1 #定义常量
x=r*np.cos(t) #定义第一个因变量参数
y=r*np.sin(t) #定义第二个因变量参数

这里定义了一个常数r,目的是画一个半径为1的圆。

然后直接输出图形:

ax.plot(x,y) #绘制参数化图形
ax.set_title('Draw a circle-aixmls')
plt.show() #输出图形

运行代码后的图形为:

图1

很显然,图1并未输出一个想象中的圆形,这个“圆”看上去是个“椭圆”。但仔细看坐标轴的值,这其实又是一个圆,圆心在(0,0),X轴和Y轴的范围都是[-1,1]。

追溯根本原因:X轴比Y轴长,坐标轴的比例不一样。

【3】代码修正

基于此必须修正,在官网我们找到如下教程:

Axes box aspect — Matplotlib 3.9.2 documentation

其实这里最核心的代码就是:

ax.set_box_aspect(1)

往程序里加入上述代码,运行后的图像为:

图2

可见图2绘制出了预期中的圆形。

【4】总给

掌握了使用ax.set_box_aspect()函数实现坐标轴等比例设置。


http://www.mrgr.cn/news/61624.html

相关文章:

  • Objective-C 音频爬虫:实时接收数据的 didReceiveData_ 方法
  • 打工人的悲歌
  • .NET 8 中的 Mini WebApi
  • LiNo论文解析
  • 如何用猿大师办公助手实现OA系统中Word公文/合同在线编辑及流转?
  • HarmonyOS“一次开发,多端部署”
  • 使用 OpenCV 进行人眼检测
  • 从零到一:大学新生编程入门攻略与成长指南
  • CAN总线物理层&基础特性
  • H3C M-LAG 实验
  • 名词(术语)了解 -- SSG
  • Java 中 JSONObject 遍历属性并删除的几种方法对比
  • TypeScript 泛型
  • thrift idl 语言基础学习
  • ConcurrentHashMap【核心源码讲解】
  • Python——命令行计算器
  • Vim编辑器的应用与实践:让你的文本编辑更高效
  • 微服务设计模式 - 重试模式(Retry Pattern)
  • 17.网工入门篇--------介绍一下WLAN
  • 中国分省统计面板数据(2004-2023)-最新出炉_附下载链接
  • 信发软件之文字选择字体和颜色——未来之窗行业应用跨平台架构
  • 鸿蒙开发培训要多久
  • Redis持久化AOFRDB区别是什么?
  • 多功能中英文翻译工具:满足你的多样需求
  • JavaScript Prototype
  • CosyVoice语音合成使用教程