python 如何在 Matplotlib 中绘制垂直线


Posted in Python onApril 02, 2021

介绍

Matplotlib是Python中使用最广泛的数据可视化库之一。Matplotlib的受欢迎程度大部分来自其自定义选项。您可以调整其对象层次结构中的几乎任何元素。

在本教程中,我们将研究如何在Matplotlib图上绘制垂直线,这使我们能够标记和突出显示图的某些区域,而无需缩放或更改轴范围。

创建图

让我们首先用一些随机数据创建一个简单的图:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6))

np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)

plt.show()

在这里,我们使用 Numpy 生成了[0,1)范围内的150个随机数据点。

python 如何在 Matplotlib 中绘制垂直线

现在,由于我们已经设置了 seed ,因此我们可以根据需要多次复制此随机图像。例如,我们可以在20和100标记上绘制垂直线。

可以通过 PyPlot 的vlines()axvline()函数这两种方法来绘制线。当然,您也可以在Axes对象上调用这些方法。

使用 PyPlot.vlines()在Matplotlib绘图上绘制垂直线

让我们从 vlines() 函数开始:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6))

np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)

ax.vlines([20, 100], 0, 1, linestyles='dashed', colors='red')

plt.show()

vlines()函数接受一些参数:“即您想在其上绘制线条的标量或X值的一维数组。我们提供了[20,100],标记了两个点,尽管您可以从0..n点开始。然后,yminymax参数:这些是线条的高度。我们将它们设置为0到1,因为这也是np.random.rand()调用的分布。然后,您可以设置接受典型Matplotlib样式选项的样式,例如线型或颜色。

运行此代码的结果如下:

python 如何在 Matplotlib 中绘制垂直线

我们在X轴的20和100点处有两条垂直虚线,用红色虚线表示。

此函数允许我们在具体值中设置yminymax,而axvline()允许我们按百分比选择高度,或者默认情况下,我们仅使其从底部绘制到顶部。

fig, ax = plt.subplots(figsize=(12, 6))

np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)

ax.set_ylim(-10, 10)
ax.vlines([20, 100], -2, 2, linestyles='dashed', colors='red')

python 如何在 Matplotlib 中绘制垂直线

在这里,我们把这条线设置为比随机数据本身的范围长,但仍比Axes本身小得多。

使用 PyPlot.axvline()在Matplotlib绘图上绘制垂直线

现在,让我们看一下axvline()函数:

fig, ax = plt.subplots(figsize=(12, 6))

np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)

ax.set_ylim(-10, 10)
ax.axvline(20, color='red')
ax.axvline(100, color='red')

plt.show()

它具有其他功能所没有的一些限制,例如一次只能绘制在一个点上。如果要绘制多个点(例如20和100),则必须调用函数两次。

它实际上并没有像vlines()那样让我们指定线型,但是默认情况下,它不需要yminymax参数。如果省略后,它们将只是从轴的顶部到底部:

python 如何在 Matplotlib 中绘制垂直线

但是,您可以根据需要更改高度:这次您将以百分比为单位更改高度。这些百分比考虑了轴的顶部和底部,因此0%将位于底部,而100%将位于顶部。让我们画一条从50%到80%的线:

fig, ax = plt.subplots(figsize=(12, 6))

np.random.seed(42)
x = np.random.rand(150)
ax.plot(x)

ax.set_ylim(-10, 10)
ax.axvline(20, 0.8, 0.5, color='red')
ax.axvline(100, 0.8, 0.5, color='red')

结果如下:

python 如何在 Matplotlib 中绘制垂直线

结论

在本教程中,我们介绍了如何用两种方法在Matplotlib图上绘制垂直线。

以上就是python 如何在 Matplotlib 中绘制垂直线的详细内容,更多关于python在 Matplotlib 中绘制垂直线的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python基础教程之常用运算符
Aug 29 Python
Python 抓取动态网页内容方案详解
Dec 25 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
python中lambda()的用法
Nov 16 Python
Django中针对基于类的视图添加csrf_exempt实例代码
Feb 11 Python
简单谈谈python基本数据类型
Sep 26 Python
Python中Numpy ndarray的使用详解
May 24 Python
python如何导入依赖包
Jul 13 Python
Python ConfigParser模块的使用示例
Oct 12 Python
python中如何使用虚拟环境
Oct 14 Python
Python基于mediainfo批量重命名图片文件
Dec 29 Python
python反编译教程之2048小游戏实例
Mar 03 Python
在Windows下安装配置CPU版的PyTorch的方法
PyQt5 QThread倒计时功能的实现代码
Apr 02 #Python
Python中Permission denied的解决方案
Apr 02 #Python
python爬不同图片分别保存在不同文件夹中的实现
Python读取文件夹下的所有文件实例代码
如何用python识别滑块验证码中的缺口
python 实现定时任务的四种方式
Apr 01 #Python
You might like
php中长文章分页显示实现代码
2012/09/29 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
php初始化对象和析构函数的简单实例
2014/03/11 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
js模糊查询实例分享
2016/12/26 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
Angular实现响应式表单
2017/08/04 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
Python虚拟环境venv用法详解
2020/05/25 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
端口镜像是怎么实现的
2014/03/25 面试题
记账会计岗位职责
2014/06/16 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
幽默导游词开场白
2015/05/29 职场文书
运动员入场前导词
2015/07/20 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL