Wizualizacja szeregów czasowych

Wprowadzenie do wizualizacji danych w Julii

Gustavo Vieira Suñe

Data Analyst

Szereg czasowy

Wykres liniowy przedstawiający ceny pomidorów w funkcji czasu. Linia pokazuje szereg czasowy z trendem rosnącym i dużą zmiennością.

Wprowadzenie do wizualizacji danych w Julii

Ceny pomidorów

  • DataFrame tomato
Date Price (Rupees)
FEB-2004 10.0
MAR-2004 12.0
APR-2004 6.0
MAY-2004 8.0
... ...
  • Sortowanie dat
    tomato.Date = sort(
      tomato.Date, :Date
    )
    
# Plot time series
plot(
    tomato.Date,
    tomato.Price,

# Customize the plot linewidth=2, linecolor=:tomato, label="Tomato" ) xlabel!("Date") ylabel!("Unit Price (Rupees)")
Wprowadzenie do wizualizacji danych w Julii

Ceny pomidorów

Wykres liniowy przedstawiający ceny pomidorów w funkcji czasu. Etykiety osi X nakładają się na siebie.

  • DataFrame tomato
Date Price (Rupees)
APR-2004 6.0
APR-2005 10.0
APR-2006 8.0
APR-2007 8.0
... ...
  • Kolumna Date zawiera ciągi znaków!
Wprowadzenie do wizualizacji danych w Julii

Daty w Julii

using Dates

birthday = Date("1989-12-04")
  • Inne formaty
birthday = Date(
    "1989/DEC/04", dateformat"y/u/d"
)
birthday = Date(
    "Dec 4, 1989", dateformat"u d, y"
)
Code Match Examples
Y/y Year (YYYY) 1989, 2023
m Month (MM) 1, 10
u Abbreviated Month Jan, DEC
U Month Name January, DECEMBER
d Day (DD) 4, 28
H Hour (HH) 12, 22
M Minute (MM) 05, 25
S Second (SS) 10, 59
1 https://docs.julialang.org/en/v1/stdlib/Dates/#Period-Types
Wprowadzenie do wizualizacji danych w Julii

Ceny pomidorów z datami

  • Konwersja ciągów na daty
tomato.Date = Date.(
    tomato.Date, dateformat"u-y"
)
  • Sortowanie według daty
tomato.Date = sort(
    tomato.Date, :Date
)
Date Price (Rupees)
2004-02-01 10.0
2004-03-01 12.0
2004-04-01 6.0
2004-05-01 8.0
... ...
Wprowadzenie do wizualizacji danych w Julii

Szereg czasowy cen pomidorów

# Plot time series
plot(
    tomato.Date,
    tomato.Price,
    # Customize the plot
    linewidth=2,
    linecolor=:tomato,
    label="Tomato"
)
xlabel!("Date")
ylabel!("Unit Price (Rupees)")

Wykres liniowy przedstawiający ceny pomidorów w funkcji czasu. Etykiety osi X są sformatowane jako daty i nie nakładają się na siebie.

Wprowadzenie do wizualizacji danych w Julii

Adnotowanie wykresu

# Row with highest price 
maximum_price = tomato[
    argmax(tomato.Price), :]

# Annotate the plot annotate!( # Coordinates maximum_price.Date, maximum_price.Price + 2,
# Annotation text "Highest Price", annotationfontsize=8 )

Wykres liniowy przedstawiający ceny pomidorów w funkcji czasu. Punkt z najwyższą ceną jest oznaczony adnotacją.

Wprowadzenie do wizualizacji danych w Julii

Czas na ćwiczenia!

Wprowadzenie do wizualizacji danych w Julii

Preparing Video For Download...