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编写百度贴吧的简单爬虫
Apr 02 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
python定位xpath 节点位置的方法
Aug 27 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
Apr 27 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 Python
python 爬虫如何正确的使用cookie
Oct 27 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
Feb 03 Python
python实现发送邮件
Mar 02 Python
Python爬虫基础之爬虫的分类知识总结
May 13 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版(5)
2006/10/09 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
动态调用CSS文件的JS代码
2010/07/29 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python中decorator使用实例
2015/04/14 Python
Python 数据结构之旋转链表
2017/02/25 Python
python实现石头剪刀布程序
2021/01/20 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
客户代表自我评价范例
2013/09/24 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
降消项目实施方案
2014/03/30 职场文书
委托书模板
2014/04/04 职场文书
节能环保口号
2014/06/12 职场文书
地震捐款倡议书
2014/08/29 职场文书
设备技术员岗位职责
2015/04/11 职场文书
老乡聚会通知
2015/04/23 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python