Python matplotlib时序图上画竖线
时间: 2023-05-28 22:03:23 浏览: 497
在 matplotlib 中,可以使用 `axvline` 方法在时序图上画竖线。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一些随机数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 创建画布和子图
fig, ax = plt.subplots()
# 绘制折线图
ax.plot(x, y)
# 在 x=5 位置画一条竖线,设置样式和颜色
ax.axvline(x=5, linestyle='--', color='r')
# 显示图形
plt.show()
```
该代码将生成一个时序图,其中添加了一条在 x=5 位置的竖线。你可以根据需要调整 `axvline` 方法的参数来设置竖线的位置、样式和颜色。
相关问题
Python matplotlib时序图上无法使用时间戳画竖线
在Python matplotlib时序图上画竖线时,需要将时间戳转换为matplotlib认可的时间格式,例如datetime.datetime或numpy.datetime64。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
import datetime as dt
import numpy as np
# 生成数据
x = np.arange('2021-01-01T00:00:00', '2021-01-02T00:00:00', np.timedelta64(1, 'h'))
y = np.random.randn(len(x))
# 设置竖线位置
line_pos = '2021-01-01T06:00:00'
# 将时间戳转换为datetime.datetime格式
line_pos = dt.datetime.strptime(line_pos, '%Y-%m-%dT%H:%M:%S')
# 绘制图像
fig, ax = plt.subplots()
ax.plot(x, y)
ax.axvline(x=line_pos, color='red')
plt.show()
```
在上面的代码中,我们首先生成了一些随机数据,并设置了要绘制竖线的位置。然后,我们将时间戳转换为datetime.datetime格式,并使用ax.axvline函数在时序图上绘制竖线。
阅读全文