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))

Matplotlib adiciona uma linha vertical a uma data específica

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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *