python pyplot 宽高等比_python – 更改matplotlib中子图的宽高比

本文详细解析了matplotlib中子图的宽高比控制,包括默认行为、可调参数`aspect`和`adjustable`的作用。讨论了`imshow`函数如何影响轴的宽高比,并给出了如何保持图像像素正方形的示例。此外,还介绍了`figaspect`函数在创建具有固定宽高比图形中的应用。
摘要由CSDN通过智能技术生成

简答

你可能想打电话:

ax.imshow(..., aspect='auto')

默认情况下,imshow会在调用轴时将轴的纵横比设置为1.这将覆盖您在创建轴时指定的任何方面.

但是,这是matplotlib中常见的混淆源.让我备份并详细解释正在发生的事情.

Matplotlib的布局模型

matplotlib中的aspect是指数据坐标中xscale和yscale的比率.它不直接控制轴的宽度和高度的比率.

有三件事可以控制matplotlib轴的“外框”的大小和形状:

>图的大小/形状(下图中以红色显示)

>图坐标中轴的指定范围(例如子图位置,如下图中的绿色所示)

> Axes用于适应固定宽高比(可调参数)的机制.

换句话说,轴总是放在图形坐标中,它们的形状/大小始终是图形的形状/大小的比例. (注意:诸如axes_grid之类的东西会在绘制时改变它以绕过这个限制.)

但是,给定轴的范围(从其子图位置或显式设置范围)不一定是它将占用的大小.根据方面和可调参数,轴将在给定范围内缩小.

为了理解一切如何相互作用,让我们在很多不同的情况下绘制一个圆圈.

没有固定方面

在基本情况下(没有为轴设置固定的纵横比),轴将填充图形坐标中分配给它的整个空间(由绿色框显示).

x和y刻度(由方面设置)可以独立更改,扭曲圆圈:

当我们调整图形的大小(交互式或图形创建)时,轴将“挤压”它:

固定纵横比,可调=’框’

但是,如果设置了绘图的纵横比(默认情况下,imshow将强制纵横比为

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值