Como adicionar uma linha vertical a uma data específica no matplotlib
Você pode usar a função axvline() com a função datetime() para adicionar uma linha vertical a uma data específica no Matplotlib:
import datetime import matplotlib. pyplot as plt plt. axvline ( datetime.datetime (2023, 1, 5))
Este exemplo específico adiciona uma linha vertical em 01/05/2023 no eixo x de um gráfico no Matplotlib.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: adicione uma linha vertical a uma data específica no Matplotlib
Suponha que temos o seguinte DataFrame do pandas que contém informações sobre o total de vendas realizadas em oito dias consecutivos em uma empresa:
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
Podemos usar o código a seguir para criar um gráfico de vendas por dia e adicionar uma linha vertical à data 05/01/2023 no eixo x:
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))
Observe que uma linha vertical foi adicionada ao gráfico na data 05/01/2023 no eixo x.
Observe também que você pode usar os argumentos color , linewidth e linestyle para personalizar a aparência da linha:
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=' -- ')
Observe que a linha vertical agora está vermelha, um pouco mais larga que no exemplo anterior e pontilhada.
Sinta-se à vontade para alterar a aparência da linha vertical para dar a aparência desejada.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no Matplotlib:
Como adicionar linha média ao gráfico no Matplotlib
Como adicionar uma linha de tendência no Matplotlib
Como desenhar uma linha horizontal no Matplotlib