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的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
Jan 20 Python
Python socket实现简单聊天室
Apr 01 Python
PyCharm在新窗口打开项目的方法
Jan 17 Python
Python Collatz序列实现过程解析
Oct 12 Python
Pycharm小白级简单使用教程
Jan 08 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
Python异常原理及异常捕捉实现过程解析
Mar 25 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
python实现调用摄像头并拍照发邮箱
Apr 27 Python
Python实现生成bmp图像的方法
Jun 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
js计数器代码
2006/11/04 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
JavaScript"模拟事件"的注意要点详解
2019/02/13 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
用python代码做configure文件
2014/07/20 Python
Python random模块常用方法
2014/11/03 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
Python实现Kmeans聚类算法
2020/06/10 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
Pandas的Apply函数具体使用
2020/07/21 Python
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
搬家公司的创业计划书
2014/01/01 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
故宫导游词
2015/01/31 职场文书
倡议书的格式写法
2015/04/28 职场文书
小学六年级毕业感言
2015/07/30 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技