Як додати вертикальну лінію до певної дати в matplotlib


Ви можете використовувати функцію axvline() із функцією datetime() , щоб додати вертикальну лінію до певної дати в Matplotlib:

 import datetime
import matplotlib. pyplot as plt

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

Цей конкретний приклад додає вертикальну лінію на 01.05.2023 на осі абсцис діаграми в Matplotlib.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: додайте вертикальну лінію до певної дати в Matplotlib

Припустімо, що ми маємо такий фрейм даних pandas, який містить інформацію про загальний обсяг продажів, здійснених у компанії протягом восьми днів поспіль:

 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

Ми можемо використати наступний код, щоб створити діаграму продажів за день і додати вертикальну лінію до дати 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 додає вертикальну лінію до певної дати

Зауважте, що на дату 05.01.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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *