如何在 matplotlib 中向特定日期添加垂直线


您可以将axvline()函数与datetime()函数结合使用,在 Matplotlib 中向特定日期添加垂直线:

 import datetime
import matplotlib. pyplot as plt

plt. axvline ( datetime.datetime (2023, 1, 5))

此特定示例在 Matplotlib 绘图的 x 轴上于01/05/2023添加一条垂直线。

以下示例展示了如何在实践中使用此语法。

示例:在 Matplotlib 中向特定日期添加垂直线

假设我们有以下 pandas DataFrame,其中包含有关公司连续八天的总销售额的信息:

 import datetime
import numpy as np
import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1)
for i in range(8)]),
                   ' sales ': [3, 4, 4, 7, 8, 9, 14, 17]})

#view DataFrame
print (df)

        dirty date
0 2023-01-01 3
1 2023-01-02 4
2 2023-01-03 4
3 2023-01-04 7
4 2023-01-05 8
5 2023-01-06 9
6 2023-01-07 14
7 2023-01-08 17

我们可以使用以下代码创建每天的销售额图表,并在 x 轴上向日期01/05/2023添加一条垂直线:

 import matplotlib. pyplot as plt

#plot sales by date
plt. plot_date ( df.date , df.sales )

#rotate x-axis ticks 45 degrees and right-aline
plt. xticks (rotation=45, ha=' right ')

#add vertical line at 1/5/2023
plt. axvline ( datetime.datetime (2023, 1, 5))

Matplotlib 向特定日期添加一条垂直线

请注意,一条垂直线已添加到 x 轴上日期01/05/2023的图中。

另请注意,您可以使用colorlinewidthlinestyle参数来自定义线条的外观:

 import matplotlib. pyplot as plt

#plot sales by date
plt. plot_date ( df.date , df.sales )

#rotate x-axis ticks 45 degrees and right-aline
plt. xticks (rotation=45, ha=' right ')

#add customized vertical line at 1/5/2023
plt. axvline (datetime. datetime (2023, 1, 5), color=' red ', linewidth= 3 , linestyle=' -- ') 

请注意,垂直线现在是红色的,比前面的示例稍宽,并且是虚线。

请随意更改垂直线的外观,使其呈现您想要的外观。

其他资源

以下教程解释了如何在 Matplotlib 中执行其他常见任务:

如何在 Matplotlib 中添加平均线
如何在 Matplotlib 中添加趋势线
如何在 Matplotlib 中绘制水平线

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注