【matplotlib基础】--刻度
Matplotlib中刻度是用于在绘图中表示数据大小的工具。
刻度是坐标轴上的数字或标签,用于指示数据的大小或值,
通常以整数或小数表示,具体取决于坐标轴的类型和限制。
1. 主次刻度
默认的绘制时,坐标轴只有默认的主要刻度,如下所示:
from matplotlib.ticker import MultipleLocator
x = np.array(range(0, 100))
y = np.random.randint(100, 200, 100)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#X轴的主要和次要刻度
ax.xaxis.set_major_locator(MultipleLocator(20))
ax.xaxis.set_minor_locator(MultipleLocator(2))
#Y轴的主要和次要刻度
ax.yaxis.set_major_locator(MultipleLocator(50))
ax.yaxis.set_minor_locator(MultipleLocator(10))
ax.plot(x, y)

上面的示例中,
设置了X轴的主要刻度间隔20,次要刻度间隔2,也就是每2个主要刻度之间有10个次要刻度。
设置了Y轴的主要刻度间隔50,次要刻度间隔10,也就是每2个主要刻度之间有5个次要刻度。
次要刻度就是上面图中主要刻度之间稍短点的线。
2. 刻度样式
刻度的样式非常灵活,常见的有以下几种设置。
2.1. 隐藏刻度
隐藏刻度,只保留图形,这在做某些示意图的时候可能会用到。
x = np.array(range(0, 100))
y = np.random.randint(100, 200, 100)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#隐藏刻度
ax.xaxis.set_major_locator(plt.NullLocator())
ax.yaxis.set_major_locator(plt.NullLocator())
ax.plot(x, y, color='g')

2.2. 密度
密度是指刻度的间隔,如果图比较小,可以设置间隔大一些,反之则设置小一些。
from matplotlib.ticker import MultipleLocator
x = np.array(range(0, 100))
y = np.random.randint(100, 200, 100)
rows, cols = 2, 2
grid = plt.GridSpec(rows, cols)
ax = plt.subplot(grid[0, 0])
ax.plot(x, y)
ax.xaxis.set_major_locator(MultipleLocator(20))
ax.yaxis.set_major_locator(MultipleLocator(50))
ax = plt.subplot(grid[1, :])
ax.plot(x, y)
ax.xaxis.set_major_locator(MultipleLocator(10))
ax.yaxis.set_major_locator(MultipleLocator(20))

上例中,根据图形的大小,我们设置了刻度的不同密度。
2.3. 颜色,大小,旋转
为了突出某些刻度值,有时候会需要修改那些刻度值的颜色和大小。
x = np.array(range(0, 100))
y = np.random.randint(100, 200, 100)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.xaxis.set_major_locator(MultipleLocator(10))
obj = ax.get_xticklabels()[2]
obj.set_size(20)
obj.set_color("red")
ax.plot(x, y, color='g')

上面示例中,X轴刻度10被放大并且改成了红色。
刻度的旋转一般用在刻度内容比较长的情况,比如下面的示例:
x = np.array(
[
"2022-01-01",
"2022-02-01",
"2022-03-01",
"2022-04-01",
"2022-05-01",
"2022-06-01",
"2022-07-01",
"2022-08-01",
"2022-09-01",
"2022-10-01",
]
)
y = np.random.randint(100, 200, 10)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.plot(x, y, color="g")

由于X轴的刻度是日期,因为太长,所以会挤在一起,显示不清。
这时可以调整X轴刻度的角度,避免重合在一起。
x = np.array(
[
"2022-01-01",
"2022-02-01",
"2022-03-01",
"2022-04-01",
"2022-05-01",
"2022-06-01",
"2022-07-01",
"2022-08-01",
"2022-09-01",
"2022-10-01",
]
)
y = np.random.randint(100, 200, 10)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
plt.xticks(rotation=45) # 旋转45度
ax.plot(x, y, color="g")

2.4. latex格式
Matplotlib的刻度还支持latex格式,可以显示一些特殊的字符,比如圆周率π。
直接显示时:
x = np.array([0, np.pi / 6, np.pi / 4, np.pi/3, np.pi / 2])
x = np.round(x, 2)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
plt.xticks(labels=x, ticks=x)
ax.plot(x, y)

X轴的刻度显示实际的值。
调整为 latex 格式来显示:(调整 plt.xticks() 这个函数)
plt.xticks(labels=[
"0", "$\pi/6$", "$\pi/4$", "$\pi/3$", "$\pi/2$"
], ticks=x)

X轴的刻度中显示圆周率π,更易于阅读和理解。
3. 总结回顾
与之前介绍的画布,子图和坐标轴相比,刻度是设置最多也是最复杂的一个容器。
刻度的主要作用是帮助数据可视化更加清晰和易于理解,基于此,本篇主要介绍了:
- 主次刻度
- 刻度样式,包括是否显示刻度,刻度的密度,颜色,大小,角度以及
latex公式的支持。
【matplotlib基础】--刻度的更多相关文章
- Matplotlib基础知识
Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 ...
- Matplotlib基础使用
matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis 水平和垂直的轴线 x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括最小刻度 ...
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- Matplotlib基础图形之散点图
Matplotlib基础图形之散点图 散点图特点: 1.散点图显示两组数据的值,每个点的坐标位置由变量的值决定 2.由一组不连续的点组成,用于观察两种变量的相关性(正相关,负相关,不相关) 3.例如: ...
- matplotlib基础
Matplotlib 基础 注:本文中的程序都默认引入了numpy库和matplotlib库,并且分别简写为np与plt:如果读者不知道怎么使用numpy库,可以移步到这一博客上进行简单的学习 一.简 ...
- 模块简介与matplotlib基础
模块简介与matplotlib基础 1.基本概念 1.1数据分析 对已知的数据进行分析,提取出一些有价值的信息. 1.2数据挖掘 对大量的数据进行分析与挖掘,得到一些未知的,有价值的信息. 1.3数据 ...
- [笔记]SciPy、Matplotlib基础操作
NumPy.SciPy.Matplotlib,Python下机器学习三大利器.上一篇讲了NumPy基础操作,这节讲讲SciPy和Matplotlib.目前接触到的东西不多,以后再遇到些比较常用的再更新 ...
- 【Matplotlib】 刻度设置(2)
Tick locating and formatting 该模块包括许多类以支持完整的刻度位置和格式的配置.尽管 locators 与主刻度或小刻度没有关系,他们经由 Axis 类使用来支持主刻度和小 ...
- Pandas与Matplotlib基础
pandas是Python中开源的,高性能的用于数据分析的库.其中包含了很多可用的数据结构及功能,各种结构支持相互转换,并且支持读取.保存数据.结合matplotlib库,可以将数据已图表的形式可视化 ...
- 第二周 数据分析之展示 Matplotlib基础绘图函数实例
Pyplot基础图表函数 Pyplot饼图的绘制: Pyplot直方图的绘制: Pyplot极坐标图的绘制: Pyplot散点图的绘制: 单元小结: import numpy as np import ...
随机推荐
- phpstudy-pikachu-数字型注入(post)
抓包搞到格式 id=1&submit=%E6%9F%A5%E8%AF%A2 查字符段 id=1 order by 2&submit=%E6%9F%A5%E8%AF%A2 id=1 un ...
- Deferred Components-实现Flutter运行时动态下发Dart代码 | 京东云技术团队
导读 Deferred Components,官方实现的Flutter代码动态下发的方案.本文主要介绍官方方案的实现细节,探索在国内环境下使用Deferred Components,并且实现了最小验证 ...
- 计算机网络 ACL和ANT
目录 一.ACL概况 二.ACL工作过程 三.ACL实验 四.ANT概况 五.ANT工作过程 六.ANT实验 一.ACL概况 概念:主要是对报文进行区分,路由器会对报文进行检查,查看是否符合通过标准或 ...
- 计算机网络IP地址和进制的转换
目录 一.双绞线 二.计算机的数制 三.单位 四.IP地址的分类 ip地址的 组成 五.特殊地址 六.地址协议 一.双绞线 T568A:白绿.绿.白橙.蓝.白蓝.橙.白棕.棕 T568B:白橙.橙.白 ...
- 小程序使用echarts 在一个页面打印多个饼图的坑
一.下载echarts微信版 下载地址:https://github.com/ecomfe/echarts-for-weixin 或者直接云盘下载 https://pan.baidu.com/s/1i ...
- 4、数据库:MySQL部署 - 系统部署系列文章
MySQL数据库在其它博文中有介绍,包括学习规划系列.今天就讲讲MySQL的部署事情. 一.先下载MySQL数据库: 到下面这个网址去下载数据库,这里下载的社区版: https://dev.mysql ...
- 【HMS Core】Android Studio安装Toolkit登录报错{"httpCode":500,"errorCode":"00012005"...
[问题描述] 在Android Studio安装Toolkit插件,安装后登录,报错 [问题分析] 此种情况一般是由于开发者账户未实名造成的 [解决方案] 1.检查开发者账户是否实名,登录联盟 ...
- [ARM 汇编]进阶篇—存储访问指令—2.3.2 多数据传输指令
在 ARM 汇编中,多数据传输指令用于一次性从存储器中加载多个数据到寄存器组,或将寄存器组中的多个数据存储到存储器.这些指令通常用于高效地处理数组.结构体等数据结构.在本节中,我们将详细介绍 ARM ...
- CKS 考试题整理 (09)-日志审计 log audit
Task 在cluster中启用审计日志.为此,请启用日志后端,并确保: 日志存储在 /var/log/kubernetes/audit-logs.txt 日志文件能保留 10 天 最多保留 2 个旧 ...
- 谁在以太坊区块链上循环交易?TuGraph+Kafka的0元流图解决方案
都在说数据已经成为新时代的生产资料. 但随着大数据和人工智能等技术的发展,即便人们都知道数据的价值日益凸显,却无法凭借一己之力获取和分析如此大规模的数据. 要想富,先修路.要想利用新时代的数据致富,也 ...