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的Collections模块中counter结构的用法
Jul 07 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
python基础教程项目三之万能的XML
Apr 02 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
python 中xpath爬虫实例详解
Aug 26 Python
Python 批量刷博客园访问量脚本过程解析
Aug 30 Python
Python完全识别验证码自动登录实例详解
Nov 24 Python
解决Python pip 自动更新升级失败的问题
Feb 21 Python
python字符串判断密码强弱
Mar 18 Python
Python Request类源码实现方法及原理解析
Aug 17 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
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
原生JavaScript实现留言板
2021/01/10 Javascript
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
Python读取键盘输入的2种方法
2015/06/16 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python语言的变量认识及操作方法
2018/02/11 Python
python实现网页自动签到功能
2019/01/21 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
社区工作者感言
2014/03/02 职场文书
学生个人自我鉴定
2014/03/26 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
Go timer如何调度
2021/06/09 Golang
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技