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

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

1. 坐标轴范围

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

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


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

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

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


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

2. 双坐标轴

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

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


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

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

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


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

3. 反坐标轴

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

3.1. 反转X轴

  1. fig = plt.figure()
  2. x = np.array(range(0, 8))
  3. y = np.random.randint(1, 100, 8)
  4. ax1 = fig.add_subplot(211)
  5. ax1.plot(x, y)
  6. #反转X轴
  7. ax2 = fig.add_subplot(212)
  8. ax2.invert_xaxis()
  9. ax2.plot(x, y)


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

3.2. 反转Y轴

  1. fig = plt.figure()
  2. x = np.array(range(0, 8))
  3. y = np.random.randint(1, 100, 8)
  4. ax1 = fig.add_subplot(211)
  5. ax1.plot(x, y)
  6. #反转Y轴
  7. ax2 = fig.add_subplot(212)
  8. ax2.invert_yaxis()
  9. 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. 2014年蓝桥杯C/C++大学B组省赛真题(蚂蚁感冒)

    题目描述: 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒.当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行.这些蚂蚁中,有1只蚂蚁 ...

  2. 《Linux的文件目录类指令 20条》

    文件目录类的指令 1.pwd指令 查看当前目录 2.ls  指令 查看当前目录所有内容信息 ls -a 显示当前目录所有的文件和目录,包括隐藏的 ls -l 以列表的方式显示信息 ls -al或la ...

  3. go语言编写算法

    1.冒泡排序 // 冒泡排序 a := []uint8{9, 20, 10, 23, 7, 22, 88, 102} for i := 0; i < len(a); i++ { for k := ...

  4. 基于MQTT的弱网环境应用

    MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,设计用于低带宽和不稳定网络环境下的物联网设备之间的通信. 以下是MQTT的一些关键特点和常 ...

  5. 现代C++学习指南-标准库

    在[上一章](https://www.yuque.com/docs/share/adb5b1e4-f3c6-46fd-ba4b-4dabce9b4f2a?# <现代C++学习指南-类型系统> ...

  6. 让AI支持游戏更自然、更直观:基于情感分析的AI游戏体验和交互设计

    目录 引言 随着游戏市场的不断发展,人工智能技术的应用也越来越广泛.其中,情感分析技术在游戏中的应用,可以让游戏更加自然.直观,同时提高游戏的用户体验.本文将介绍如何让 AI 支持游戏更自然.更直观: ...

  7. mybatis 部分符号需转译 及 IF如何正确判断单个数字字符

    mybatis 部分符号需转译 及 IF如何正确判断单个数字字符 1.Mybatis 转译字符如下下法即可: oracle中的日期查询在mybatis中写法可以参考如下:注意提交时间的<号是用特 ...

  8. 浏览器手动设置Cookie

    浏览器手动设置Cookie js代码: document.cookie="{KEY}={Value}":  可多次执执行.

  9. 2021级HAUT新生周赛题解汇总

    2021级HAUT新生周赛(一)题解@张君毅:第一场 2021级HAUT新生周赛(二)题解@李亚凯:第二场 2021级HAUT新生周赛(三)题解@李晨曦:第三场 2021级HAUT新生周赛(四)题解@ ...

  10. SAP ABAP 使用GENIOS求解线性规划问题的简单例子

    主要内容来自Operations Research & ABAP ,结合我遇到的需求,做了一些修改. 需求:有BOX1和BOX2两种箱子,分别能包装不同数量的A物料和B物料,给出若干数量的A, ...