如何在 Matplotlib 中绘制垂直线
Python中文社区
共 2455字,需浏览 5分钟
·
2021-03-21 20:44
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标记上绘制垂直线。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样式选项的样式,例如线型或颜色。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()
vlines()
那样让我们指定线型,但是默认情况下,它不需要ymin
和ymax
参数。如果省略后,它们将只是从轴的顶部到底部: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')
更多阅读
特别推荐
点击下方阅读原文加入社区会员
评论