• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python 如何在 Matplotlib 中绘制垂直线

    介绍

    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个随机数据点。

    现在,由于我们已经设置了 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样式选项的样式,例如线型或颜色。

    运行此代码的结果如下:

    我们在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')
    

    在这里,我们把这条线设置为比随机数据本身的范围长,但仍比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参数。如果省略后,它们将只是从轴的顶部到底部:

    但是,您可以根据需要更改高度:这次您将以百分比为单位更改高度。这些百分比考虑了轴的顶部和底部,因此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')
    

    结果如下:

    结论

    在本教程中,我们介绍了如何用两种方法在Matplotlib图上绘制垂直线。

    以上就是python 如何在 Matplotlib 中绘制垂直线的详细内容,更多关于python在 Matplotlib 中绘制垂直线的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • Python matplotlib实用绘图技巧汇总
    • python使用matplotlib显示图像失真的解决方案
    • 基于python的matplotlib制作双Y轴图
    • 用Python的绘图库(matplotlib)绘制小波能量谱
    • python matplotlib绘图实现删除重复冗余图例的操作
    • Python基础之画图神器matplotlib
    • python读取并显示图片的三种方法(opencv、matplotlib、PIL库)
    • 利用Python matplotlib绘制风能玫瑰图
    • python 绘图模块matplotlib的使用简介
    • python之 matplotlib和pandas绘图教程
    • python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
    • Python绘图库Matplotlib的基本用法
    上一篇:python 遍历磁盘目录的三种方法
    下一篇:Python list去重且保持原顺序不变的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python 如何在 Matplotlib 中绘制垂直线 python,如,何在,Matplotlib,中,