Matplotlib坐标轴是用于在绘图中表示数据的位置的工具。

坐标轴是图像中的水平和垂直线,它们通常表示为 x 轴和 y 轴。
坐标轴的作用是帮助观察者了解图像中数据的位置和大小,通常标有数字或标签,以指示特定的值在图像中的位置。

1. 坐标轴范围

Matplotlib绘制图形时,会自动根据X,Y轴的数值,自动确定其范围,确保能够涵盖所有的数值。
比如:

_, ax = plt.subplots(2, 1)

#X轴范围0~8,Y轴范围1~100
x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8)
ax[0].plot(x, y) #X轴范围10~18,Y轴范围100~200
x = np.array(range(10, 18))
y = np.random.randint(100, 200, 8)
ax[1].plot(x, y)


可以看出,图形中X轴Y轴的范围是根据 x, y列表中数值的最大最小值来生成的。

有时候,为了看图的局部位置,可以主动设置X轴Y轴的范围,而不是依靠自动生成。
比如:

_, ax = plt.subplots(2, 1)
x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8)
ax[0].set_xlim(3, 6) #X轴范围3~6
ax[0].plot(x, y) x = np.array(range(10, 18))
y = np.random.randint(100, 200, 8)
ax[1].set_ylim(120, 150) #Y轴范围120~150
ax[1].plot(x, y)


上面的示例设置的第一个图的X轴范围,第二个图的Y轴范围。

2. 双坐标轴

如果要把Y轴不同范围的两个曲线放在一起比较趋势的话,就要用到双坐标轴。
比如:

fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
x = np.array(range(0, 8)) y1 = np.random.randint(1, 100, 8)
ax.plot(x, y1, c='r') y2 = np.random.randint(100, 200, 8)
ax.plot(x, y2, c='g')


上图中红色的线范围在1~100之间,绿色的线范围在100~200之间。
虽然放在一个图中比较,看着却像是在两个子图。

这时,我们可以用两个不同范围的Y轴,从而能够让两条曲线更好的比较。
比如:

fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax_twinx = ax.twinx()
x = np.array(range(0, 8)) y1 = np.random.randint(1, 100, 8)
ax.plot(x, y1, c='r') y2 = np.random.randint(100, 200, 8)
ax_twinx.plot(x, y2, c='g')


左边是红线对应的Y轴右边绿线对应的Y轴

3. 反坐标轴

最后,关于坐标轴的设置,还有一个比较常用的设置是反转坐标轴。
坐标轴的默认顺序是从小到大的,但是,对于一些特殊的图表类型(如散点图、条形图、直方图等),可以通过反转坐标轴来更好地展示数据点的分布情况。

3.1. 反转X轴

fig = plt.figure()

x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8) ax1 = fig.add_subplot(211)
ax1.plot(x, y) #反转X轴
ax2 = fig.add_subplot(212)
ax2.invert_xaxis()
ax2.plot(x, y)


上例两个子图的X轴顺序是相反的。

3.2. 反转Y轴

fig = plt.figure()

x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8) ax1 = fig.add_subplot(211)
ax1.plot(x, y) #反转Y轴
ax2 = fig.add_subplot(212)
ax2.invert_yaxis()
ax2.plot(x, y)


上例两个子图的Y轴顺序是相反的。

4. 总结回顾

这里介绍的主要是坐标轴在展示分析结果的不同场景中的常用设置方法,
其他关于坐标轴字体,颜色等等可以查阅官方文档。

【matplotlib基础】--坐标轴的更多相关文章

  1. Matplotlib基础知识

    Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 ...

  2. matplotlib基础

    Matplotlib 基础 注:本文中的程序都默认引入了numpy库和matplotlib库,并且分别简写为np与plt:如果读者不知道怎么使用numpy库,可以移步到这一博客上进行简单的学习 一.简 ...

  3. Matplotlib基础使用

    matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis 水平和垂直的轴线 x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括最小刻度 ...

  4. 数据分析与展示——Matplotlib基础绘图函数示例

    Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...

  5. Matplotlib基础图形之散点图

    Matplotlib基础图形之散点图 散点图特点: 1.散点图显示两组数据的值,每个点的坐标位置由变量的值决定 2.由一组不连续的点组成,用于观察两种变量的相关性(正相关,负相关,不相关) 3.例如: ...

  6. 模块简介与matplotlib基础

    模块简介与matplotlib基础 1.基本概念 1.1数据分析 对已知的数据进行分析,提取出一些有价值的信息. 1.2数据挖掘 对大量的数据进行分析与挖掘,得到一些未知的,有价值的信息. 1.3数据 ...

  7. python画图matplotlib基础笔记

    numpy~~基础计算库,多维数组处理 scipy~~基于numpy,用于数值计算等等,默认调用intel mkl(高度优化的数学库) pandas~~强大的数据框,基于numpy matplotli ...

  8. [笔记]SciPy、Matplotlib基础操作

    NumPy.SciPy.Matplotlib,Python下机器学习三大利器.上一篇讲了NumPy基础操作,这节讲讲SciPy和Matplotlib.目前接触到的东西不多,以后再遇到些比较常用的再更新 ...

  9. 第二周 数据分析之展示 Matplotlib基础绘图函数实例

    Pyplot基础图表函数 Pyplot饼图的绘制: Pyplot直方图的绘制: Pyplot极坐标图的绘制: Pyplot散点图的绘制: 单元小结: import numpy as np import ...

  10. matplotlib -- 基础知识

    matplotlib 组织图表的方式 最上层是一个 Figure 实例,包含了所有可见的和其他一些不可见的内容.该 Figure 实例包含了一个 Axes 实例的成员属性 Figure.axes,同时 ...

随机推荐

  1. nodejs和npm升级版本

    由于服务器环境的不同可能需要根据实际情况升降对应的nodejs 及npm 版本,最简单的例子就是 npx 只适用于 npm 5+ 看想用npx 那不升级咋办呢,还有如error eslint@7.16 ...

  2. web自动化07-元素等待

    元素等待   1.什么是元素等待?       在定位页面元素时如果没找到,会在指定时间内一直等待的过程   2.为什么需要元素等待  网络速度慢  电脑配置低  服务器处理请求慢   3.三种元素等 ...

  3. mysql安装教程【安装版】和Navicat-for-MySQL破解版

    傻瓜式mysql安装教程[安装版]https://blog.csdn.net/qq_59636442/article/details/123058454 Navicat-for-MySQL下载链接:h ...

  4. 图书机读目录MARC简介,ISO格式目录数据生成

    一.简介 机读目录(Machine-Readable Catalogue,MARC),是利用计算机读取和处理书目信息,是计算机编目的产品. 它以代码形式和特定的结构将书目信息记录在计算机的存储载体上, ...

  5. Java(循环语句,数组)

    Java循环 1.while while( 表达式 ) { //循环内容 } 2.do while do { //循环内容 }while(表达式); 3.for for(初始化; 表达式; 更新) { ...

  6. Vue3基本功能实现

    vue3 介绍 # Vue3的变化 # 1.性能的提升 打包大小减少41% 初次渲染快55%, 更新渲染快133% 内存减少54% # 2.源码的升级 使用Proxy代替defineProperty实 ...

  7. 发布:iNeuOS工业互联网操作系统 V5 Preview1 版本(自主可控)

    这半年来一直深耕包头,这个城市比较不错,但是推进项目的难度确实挺大的.与开发产品相比,后者更省心.但是光研发产品,没有项目依托,没办法产生价值.有些大学和研究院确实有好的产品,但是没有市场化能力,再好 ...

  8. Custom directive is missing corresponding SSR transform and will be ignored

    背景 最近在给业务组件库集成指令库,将各个项目中常用的指令如一键复制.元素和弹窗拖拽等封装到一起,进行统一发版维护. 业务组件库项目架构采用的是pnpm+vite+vue3+vitepress,其中v ...

  9. 深度解读 Linux 内核级通用内存池 —— kmalloc 体系

    本文是笔者 slab 系列的最后一篇文章,为了方便大家快速检索,先将相关的文章列举出来: <细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现> <从内核源码看 sl ...

  10. Devexpress如何获取RadioGroup选中项的值和显示值

    分享一个小技巧,如题目所示,DEV控件如何获取RadioGroup选中项的值和显示值.也是在网上找了很久,看了大家都是通过SelectIndex的值定位选中的按钮,并没有说取选中项的值,所以自己研究了 ...