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基础教程之实现石头剪刀布游戏示例
Feb 11 Python
python控制台显示时钟的示例
Feb 24 Python
Python中的__new__与__init__魔术方法理解笔记
Nov 08 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
python中reduce()函数的使用方法示例
Sep 29 Python
Python3多线程基础知识点
Feb 19 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
调用其他python脚本文件里面的类和方法过程解析
Nov 15 Python
Python如何使用OS模块调用cmd
Feb 27 Python
Python基于pyecharts实现关联图绘制
Mar 27 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 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实现图片局部打马赛克的方法
2015/02/11 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
vue实现计算器功能
2020/02/22 Javascript
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
python3对接mysql数据库实例详解
2019/04/30 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
Python3 合并二叉树的实现
2019/09/30 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
PyTorch的torch.cat用法
2020/06/28 Python
Django配置跨域并开发测试接口
2020/11/04 Python
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
欢迎领导标语
2014/06/27 职场文书
会议欢迎词范文
2015/01/27 职场文书
先进个人总结范文
2015/02/15 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫