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. 2023.5.25 Linux系统Bash初识

    1.Linux系统终端概述2.Linux系统Bash管理2.1.Bash特性:命令补全2.2.Bash特性:命令快捷键2.3.Bash特性:命令别名2.4.Bash特性:命令流程2.5.Bash特性: ...

  2. 「学习笔记」Garsia-Wachs 算法

    前言 本文的资料和图片均来自 \(\texttt{OI-Wiki}\). 引入 题目描述 在一个操场上摆放着一排 \(N\) 堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的 \(2\) 堆 ...

  3. 一个支持WinForms换肤的开源组件

    推荐一个一键换肤的WinForms皮肤组件. 项目简介 这是一个支持自定义WinForms窗口.控件颜色.禁用状态.动画效果的皮肤组件. 支持的组件有:多选框.分割线.按钮.文本框.单选按钮.输入框. ...

  4. SPSS统计教程:卡方检验

    本文简要的介绍了卡方分布.卡方概率密度函数和卡方检验,并通过SPSS实现了一个卡方检验例子,不仅对结果进行了解释,而且还给出了卡方.自由度和渐近显著性的计算过程.本文用到的数据"2.2.sa ...

  5. Unity 制作KinematicCharacterController

    本篇博客为游戏开发记录,博主只是想自己做个移动组件给自己做游戏用,此间产生的一些经验也做一个分享. 简介 为了在3D世界中自由的控制我们的角色,引擎一般会提供一些基础的移动组件,上层用户做提供一些每帧 ...

  6. 记一次 .NET 某工控视觉系统 卡死分析

    一:背景 1. 讲故事 前段时间有位朋友找到我,说他们的工业视觉软件僵死了,让我帮忙看下到底是什么情况,哈哈,其实卡死的问题相对好定位,无非就是看主线程栈嘛,然后就是具体问题具体分析,当然难度大小就看 ...

  7. 简约版八股文(day1)

    Java基础 面向对象的三大基本特征 封装:将一些数据和对这些数据的操作封装在一起,形成一个独立的实体.隐藏内部的操作细节,并向外提供一些接口,来暴露对象的功能. 继承:继承是指子类继承父类,子类获得 ...

  8. 零基础如何自学C#?

    前言 本文来源于知乎的一个提问,提问的是一个大一软件工程专业的学生,他想要自学C#但是不知道该怎么去学,这让他感到很迷茫,希望有人能给他一些建议和提供一些学习方向. 个人建议 确认目标:自学C#首先你 ...

  9. ZEGO全新语音聊天解决方案,4步搭建爆火的语音聊天室

    最近,国外一款语音聊天软件成功火出圈. 与此同时,该类产品也引发了国内互联网的关注,除了争相下载试用之外,不少社交.泛娱乐行业从业者也表示要跟进对应玩法. 据了解,不少泛娱乐玩家已经在加班加点抢占先机 ...

  10. 订单逆向履约系统的建模与 PaaS 化落地实践

    导读 本文重点介绍了京东零售电商业务在订单逆向履约上面的最佳技术实践,京东零售快退平台承接了零售几乎所有售前逆向拦截和退款业务,并在长期的业务和技术探索中沉淀了丰富的业务场景设计方案.架构设计经验,既 ...