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. windows系统下python下载与安装以及可视化工具PyCharm安装

    1.python下载 python下载官网: https://www.python.org/ http://python.p2hp.com/ 中文网 点击进入官网,进入window下载页面. http ...

  2. 《数据结构(C语言版)》严蔚敏代码实现———链表

    一.前言 哈喽,大家好~我是熊子q,我又来了! 他来了他来了,他带着代码过来了! 今天要分享的代码是链表!快快搬着小板凳! 二.代码 严奶奶的书中预定义了一些预定义常量和类型,大家可以 新建一个y.h ...

  3. 整合vxgPlayer使chrome支持vxg_media_player播放rtsp视频

    目前有一个关于接入海康监控进行视频融合的项目需求,按理说在前端技术发展如此迅速的今天,使用web播放一个视频应该是不算什么难事,只是万事都有意外,因很多视频厂家的监控数据都不是普通的mp4啥的,所以使 ...

  4. Kubernetes 证书详解

    K8S 证书介绍 在 Kube-apiserver 中提供了很多认证方式,其中最常用的就是 TLS 认证,当然也有 BootstrapToken,BasicAuth 认证等,只要有一个认证通过,那么 ...

  5. 代码随想录算法训练营Day7哈希表| 454.四数相加II383. 赎金信15. 三数之和18. 四数之和 |总结

    454.四数相加Ⅱ 题目链接:454.四数相加 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:. ...

  6. Redash 可视化BI系统部署安装及简单使用

    这篇文章主要为介绍一下Redash的使用和安装 概览 Redash 主要使用的语言为 Python 和 TypeScript 这个安装主要是基于Docker 来安装的,官网教程基本没有不是基于Dock ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (27)-- 算法导论5.1 2题

    二.请描述 RANDOM(a,b)过程的一种实现,它只调用 RANDOM(0,1).作为a和b的函数,你的过程的期望运行时间是多少? 文心一言: 假设我们有一个伪随机数生成器,可以生成在[0,1)范围 ...

  8. 【Netty】03-进阶

    三. Netty 进阶 1. 粘包与半包 1.1 粘包现象 服务端代码 public class HelloWorldServer { static final Logger log = Logger ...

  9. 逍遥自在学C语言 | 指针陷阱-空指针与野指针

    前言 在C语言中,指针是一种非常强大和灵活的工具,但同时也容易引发一些问题,其中包括空指针和野指针. 本文将带你了解这两个概念的含义.产生原因以及如何避免它们所导致的问题. 一.人物简介 第一位闪亮登 ...

  10. Health Kit 新版本功能解析,给你丰富运动体验!

    华为运动健康服务(HUAWEI Health Kit)6.11.0版本新鲜出炉! 开放活力三环数据助力养成运动习惯,新增水肺潜水.户外探险数据开放-- 丰富运动体验,尽在Health Kit,一起来看 ...