python如何在Matplotlib中绘制垂直线
⽬录
介绍
创建图
使⽤ PyPlot.vlines()在Matplotlib绘图上绘制垂直线
使⽤ PyPlot.axvline()在Matplotlib绘图上绘制垂直线
结论
介绍
Matplotlib是Python中使⽤最⼴泛的数据可视化库之⼀。Matplotlib的受欢迎程度⼤部分来⾃其⾃定义选项。您可以调整其对象层次结构中的⼏乎任何元素。
numpy教程 pdf在本教程中,我们将研究如何在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点开始。然后,ymin和ymax参数:这些是线条的⾼度。我们将它们设置为0到1,因为这也是np.random.rand()调⽤的分布。然后,您可以设置接受典型Matplotlib样式选项的样式,例如线型或颜⾊。
运⾏此代码的结果如下:
我们在X轴的20和100点处有两条垂直虚线,⽤红⾊虚线表⽰。
此函数允许我们在具体值中设置ymin和ymax,⽽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()那样让我们指定线型,但是默认情况下,它不需要ymin和ymax参数。如果省略后,它们将只是从轴的顶部到底部:
但是,您可以根据需要更改⾼度:这次您将以百分⽐为单位更改⾼度。这些百分⽐考虑了轴的顶部和底部,因此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 中绘制垂直线的资料请关注其它相关⽂章!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。