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生成指定长度的随机数密码
Jan 23 Python
Python读取环境变量的方法和自定义类分享
Nov 22 Python
python 字符串和整数的转换方法
Jun 25 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
Python自动化测试笔试面试题精选
Mar 12 Python
Python连接Impala实现步骤解析
Aug 04 Python
Python爬取梨视频的示例
Jan 29 Python
利用Python+OpenCV三步去除水印
May 28 Python
Python如何让字典保持有序排列
Apr 29 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
浅谈Redux中间件的实践
2018/07/27 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
python实现逆波兰计算表达式实例详解
2015/05/06 Python
python实现复制整个目录的方法
2015/05/12 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
研究生考核个人自我鉴定
2014/03/27 职场文书
技术合作协议书范本
2014/04/18 职场文书
团队精神口号
2014/06/06 职场文书
大学生学雷锋活动总结
2014/06/26 职场文书
2015年中秋节主持词
2015/07/30 职场文书