Matplotlib中的“plt”和“ax”到底是什么?
在幕布中绘图,还是在幕布上的单元格中绘图?
实际上,作为最流行和最基础的数据可视化库,Matplotlib在某些方面有些令人困惑,这些部分经常有人问起。
- 我应该在什么时候使用“axes”
- 为什么有时用“plt”而有时用“ax”?
- 它们之间有什么区别?
在网上有这么多的例子向人们展示如何使用Matplotlib来绘制这种或那种图表,但我很少看到任何教程提到“为什么”。这可能会使编程经验较少或从其他语言(如R)切换到这种语言的人感到非常困惑。
在本文中,我不会教您使用Matplotlib绘制任何特定图表,但会尝试解释有关Matplotlib的基本但重要的内容——人们通常使用的“plt”和“ax”是什么。
概念
import matplotlib.pyplot as plt
然后,回到我们的主题。为了演示,让我们画一个简单的图表。
import numpy as npplt.plot(np.random.rand(20))
plt.title('test title')
plt.show()
figure
就像一张纸,你可以画任何你想画的东西- 我们必须在“单元格”中绘制图表,在此处,
Axes
是坐标轴 - 如果我们只画一个图形,我们不需要先画一个“单元格”,只要在纸上画就可以了。我们可以使用
plt.plot(…)
显式绘制“单元格”
当然,我们可以在“纸”上显式地绘制一个“单元格”,以告诉Matplotlib我们将在这个单元格中绘制一个图表。然后,我们有以下代码。
fig, ax = plt.subplots()
ax.plot(np.random.rand(20))
ax.set_title('test title')
plt.show()
结果完全一样。唯一的区别是我们明确地绘制了“单元格”,这样我们就能够得到Figure
和Axes
对象。
实际上,当我们只想绘制一个图形时,没有必要“绘制”单元格。但是,您必须注意到,当我们想在一个图中绘制多个图时,必须这样做。
n_rows = 2
n_cols = 2fig, axes = plt.subplots(n_rows, n_cols)
for row_num in range(n_rows):for col_num in range(n_cols):ax = axes[row_num][col_num]ax.plot(np.random.rand(20))ax.set_title(f'Plot ({row_num+1}, {col_num+1})')fig.suptitle('Main title')
fig.tight_layout()
plt.show()
在这个代码片段中,我们首先声明了要“绘制”的行和列的数量。2×2表示我们要画4个单元格。
然后,在每个单元格中,我们绘制一个随机的折线图,并根据其行号和列号分配一个标题。请注意,我们使用的是axis实例。
Matplotlib中的“plt”和“ax”到底是什么?相关推荐
- Matplotlib中的“ plt”和“ ax”到底是什么?
Indeed, as the most popular and fundamental data visualisation library, Matplotlib is kind of confus ...
- python中的plt是什么意思_Matplotlib中的“plt”和“ax”到底是什么?
在幕布中绘图,还是在幕布上的单元格中绘图? 实际上,作为最流行和最基础的数据可视化库,Matplotlib在某些方面有些令人困惑,这些部分经常有人问起.我应该在什么时候使用"axes&quo ...
- Matplotlib中的plt和ax都是啥?
微信公众号:「Python读财」 如有问题或建议,请公众号留言 Pandas教程写的差不多了,来写一写与数据可视化相关的Matplotlib系列教程吧.读过Pandas系列文章的读者应该都知道,我写文 ...
- Matplotlib中的“plt”和“ax”,设置大小刻度,设置实线和虚线方格线
一.plt还是ax 看了许多书本中的画图示例,有直接在plt上画的,也有用ax画的,这两者究竟是什么,又有哪些区别呢. 从下面这一行代码进行解读: fig,ax=plt.subplots() 什么是f ...
- 【绘图】3D点图 及绘图关系matplotlib中plt系列
文章目录 1. 报错及解决方案: 2. matplotlib中plt绘图关系描述 2.1 plt.figure() 2.2 plt.subplot() 2.3 plt.subplots() 2.4 a ...
- Matplotlib中的annotate
annotate用于在图形上给数据添加文本注解,而且支持带箭头的划线工具,方便我们在合适的位置添加描述信息. 参数说明: Axes.annotate(s, xy, *args, **kwargs) s ...
- 【Python画图】Matplotlib中fig、ax、plt的区别及其用法(入门)
Matplotlib中fig.ax.plt的区别 1. fig.ax.plt三者的基本概念 2. fig方法的层级 3. 案例 3.1 fig和ax方法(面向对象) 3.2 plt方法 4. 总结 参 ...
- python中plot的plt.text_用Python进行数据可视化的第一步,全面详解matplotlib中样式属性...
上篇内容我们详细了解了Python使用matplotlib绘制一个复杂的正弦函数的方法(参见),上篇内容我们提到了一个属性'b-',简单介绍了它是用来设置线条颜色和样式的属性.今天,我们详细了解一下P ...
- python中fig_Matplotlib画图中fig,ax,plt的区别和联系
用python两年多了,然而至今画图时依然会对群魔乱舞的Matplotlib对象感到困惑,尤其是看起来作用都类似的fig,ax和plt以及各种各样的subplot. 我们先来看以下三个示例 # C1 ...
最新文章
- 基于mybatis声明SQL Session对象
- QT学习:QTime类
- Redis操作Set的相关API
- Zabbix的安装(源码安装)
- Exynos4412 内核移植(七)—— 内核相关知识补充
- 计算机专业的学生怎么可以连计算机发展史都不知道
- 正在修复磁盘怎么取消
- linux内核中task_struct与thread_info及stack三者的关系
- MATLAB如何生成scr文件,基于matlab生成的scr文件,实现autocad曲线绘制,代码问题...
- 计算器是不是电子计算机,计算器和计算机的区别?
- 计算机无法安装新字体,如何解决XP系统中无法安装新字体
- Python配置清华镜像源
- 使用腾讯云轻量应用服务器搭建视频直播服务器
- MATLAB图像的频域低通滤波(灰度图像滤波+彩色图像滤波)
- 紫羚云秦鸿林:大中型企业实施IT服务管理(ITSM)的几大难题
- 外呼系统APP外呼软件手机电销软件拨号销售软件功能设计
- 计算最大回撤python_python 计算收益回撤比
- heaps 和 priority queue堆和优先队列的定义和数据结构表示
- 打开相机拍照或从相册中选择照片
- springboot 银联支付(快捷支付)