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字典多键值及重复键值的使用方法(详解)
Oct 31 Python
利用python求相邻数的方法示例
Aug 18 Python
python八大排序算法速度实例对比
Dec 06 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
pycharm安装和首次使用教程
Aug 27 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
python识别图像并提取文字的实现方法
Jun 28 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
django admin组件使用方法详解
Jul 19 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
python3实现高效的端口扫描
Aug 31 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 microtime获取浮点的时间戳
2010/02/21 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
python和shell变量互相传递的几种方法
2013/11/20 Python
python字符串替换示例
2014/04/24 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
Python实现疫情地图可视化
2021/02/05 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
简述数据库的设计过程
2015/06/22 面试题
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
工程质量月活动方案
2014/02/19 职场文书
生日宴会策划方案
2014/06/03 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
python用tkinter开发的扫雷游戏
2021/06/01 Python
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL