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

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

坐标轴范围设置

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

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

import numpy as np
import matplotlib.pyplot as plt

x = 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 plt

x = 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 plt

x = 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 plt

x = 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 plt

x = 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()

 

http://www.kler.cn/a/293985.html

相关文章:

  • YUM 的使用
  • AI写作(二)NLP:开启自然语言处理的奇妙之旅(2/10)
  • 第二节 OSI-物理层
  • Java Stream 流常用操作大全
  • Mysql数据类型面试题15连问
  • 吾店云介绍 – 中国人的WordPress独立站和商城系统平台
  • JavaEE(3)
  • 【debug】dpkg: error processing archive...Invalid cross-device link
  • pgrx在docker中问题无法解决
  • gitlab 启动/关闭/启用开机启动/禁用开机启动
  • 关于HTTP SESSION
  • 算法复盘——Leetcode hot100: 双指针算法
  • 软件测试基础总结+面试八股文
  • Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)
  • 数据结构(单向链表)
  • 软文发稿相比其他广告形式有哪些持续性优势?
  • 如何从硬盘恢复已删除/丢失的文件?硬盘恢复已删除的文件技巧
  • 如何录制黑神话悟空的游戏BGM导入iPhone手机制作铃声?
  • notepad下载安装使用以及高级使用技巧
  • Vue 中 nextTick 的最主要作用是什么,为什么要有这个 API
  • spring项目使用邮箱验证码校验
  • Vue3状态管理Pinia
  • APS开源源码解读: 排程工具 optaplanner
  • PHP批量修改MySQL数据表字符集为utf8mb4/utf8mb4_unicode_ci
  • 全网首发!!!opencv三通道Mat点云转halcon点云—HTuple类型
  • linux编译出现报错