如何在 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))
请注意,一条垂直线已添加到 x 轴上日期01/05/2023的图中。
另请注意,您可以使用color 、 linewidth和linestyle参数来自定义线条的外观:
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 中绘制水平线