Seaborn tidsserie plot

Seaborn tidsserie plot

Tidsserie er en type data der vi ser et sett med målinger over en periode. Hver observasjon har sin tidsstempel. Aksjekurser, sensoravlesninger, programobserverte data og andre typer data er eksempler på denne typen data. I denne opplæringen vil vi bruke Seaborn and Pandas -modulen for å plotte tidsserieanalysen i Python. Før vi konstruerer en tidsserie -plott, la oss undersøke noen få konsepter.

Et tidsplott (også kjent som en statistisk graf) viser verdier når de endres over tid. De er som X-Y-grafer. Tidsplott kan imidlertid bare representere tid på x-aksen. Mens X-Y-grafer kan plotte forskjellige “X” -variabler, for eksempel høyde, vekt og alder. Disse tomtene inkluderer ikke kategorier, i motsetning til kakediagrammer og stolpediagrammer. Tidsplott er nyttige for å vise progresjonen av data over tid. For eksempel kan denne typen diagram være nyttig hvis du analyserte data med rare intervaller.

Anta at vi planlegger tidsplott med Panda -modulen. Pandas er et numpy-basert open source-bibliotek. En Python -modul gir mange datastrukturer og metoder for behandling av numeriske og statistiske data. Det er mest kjent for å lage dataimport og analyse betydelig enklere. Pandas er raskt, høytytende og brukervennlig.

Eksempel 1: Opprette en enkel tidsserie -plott ved hjelp av en linjeplott

Vi har brukt Python -moduler for å konstruere tidsserien. Disse modulene inkluderer sjøborn, pandaer og matplotlib -moduler. Etter å ha lagt til disse modulene, har vi laget data ved å kalle Pandas datarammefunksjon og satt inn feltet 'Dato' for x-aksen og tre flere felt for Y-aksen. Dato-feltet har tidsserie-data, og andre felt har bare tilfeldige talllister.

Deretter har vi en plottfunksjon for sjøkabin. Denne linjeplottet oppretter en tidsserie -plott, og vi har definert Xticks -plasseringen med den spesifiserte vinkelen.

Importer matplotlib.Pyplot som Plt
Importer sjøborn som SNS
Importer pandaer som PD
df = pd.DataFrame ('Dato': ['2021-04-01', '2022-05-01',
'2022-06-01', '2022-07-01',
'2022-08-01', '2022-09-01',
'2022-10-01', '2022-11-01',
'2022-12-01'],
'A': [35, 47, 18, 12, 11, 10, 31, 29, 62],
'B': [72, 66, 78, 13, 19, 25, 35, 45, 86],
'C': [23, 73, 82, 28, 62, 87, 26, 45, 56],
'D': [22, 75, 26, 34, 15, 14, 54, 25, 24])
sns.lineplot (x = "date", y = "a",
data = df)
plt.Xticks (rotasjon = 20)
plt.forestilling()

Times Series -plottet er gjengitt inne i følgende figur. Denne figuren er en-kolonne tidsserie-plott:

Eksempel 2: Opprette en tidsserie -plott med mange kolonner ved å bruke en linjetak

Den foregående tidsseriegrafen er gjengitt med en enkelt kolonne. Her har vi importert sjøborn-, Panda- og Matplotlib -moduler for å gjengi tidsserieplottet. Deretter har vi laget data som har definert fire felt. Det første feltet er satt med datoene og angir navnedato. I de andre feltene har vi satt bilens navn, som viser salget av bilen på en bestemt dato.

Etter det ringte vi Seaborn Line -plottet to ganger, men med de forskjellige feltnavnene. X-aksen er tildelt med feltdatoen, og Y-aksen tilordnes med BMW- og ALTO-feltet. Vi satte etiketten for y-aksen og triksrotasjonen for x-aksen med en vinkel på 20.

Importer matplotlib.Pyplot som Plt
Importer sjøborn som SNS
Importer pandaer som PD
df = pd.DataFrame ('Dato': ['2021-04-01', '2022-05-01',
'2022-06-01', '2022-07-01',
'2022-08-01', '2022-09-01',
'2022-10-01', '2022-11-01',
'2022-12-01'],
'BMW': [14, 43, 24, 15, 45, 14, 11, 25, 65],
'Ferrai': [42, 26, 88, 35, 75, 5, 15, 25, 82],
'Alto': [19, 43, 62, 58, 52, 87, 36, 5, 26],
'Civic': [54, 15, 46, 15, 65, 24, 74, 15, 24])
sns.lineplot (x = "date", y = "bmw", data = df)
sns.lineplot (x = "date", y = "Alto", data = df)
plt.Ylabel ("BMW og Alto")
plt.Xticks (rotasjon = 20)
plt.forestilling()

Tidsserieplottet visualiseres med flere felt i følgende graffigur:

Eksempel 3: Lag flere tidsserieplott ved hjelp av en linjeplott

Vi kan lage flere tidsserier med flere kolonner. Her har vi et eksempel på illustrasjonen der vi har laget de fire tidsserie -plottene med linjeplottfunksjonen. Først har vi laget data i en variabel representert med navnet DF. Deretter har vi laget delplaner for tidsseriegrafen, der vi også har satt figurstørrelsen inne i underplottfunksjonen.

For hvert delplott har vi satt rotasjonen av flått. Innenfor linjeplottet har vi tildelt kolonnene for X- og Y -parametere og angir fargen på hvert underplott ved å oppgi fargenavnene. Det er en ekstra parameter; Tight_layout er satt med verdien som justerer polstring av delplotene.

Importer sjøborn som SNS
Importer pandaer som PD
Importer matplotlib.Pyplot som Plt
df = pd.DataFrame ('Dato': ['2022-05-01', '2022-06-01',
'2022-07-01', '2022-08-01',
'2022-09-01', '2022-10-01',
'2022-11-01', '2022-12-01'],
'Col_a': [47, 18, 12, 11, 10, 31, 29, 62],
'Col_B': [66, 78, 13, 19, 25, 35, 45, 86],
'Col_c': [73, 82, 28, 62, 87, 26, 45, 56],
'Col_d': [75, 26, 34, 15, 14, 54, 25, 24])
Fig, AX = PLT.Underplott (2, 2, FigSize = (10, 6))
sns.lineplot (x = "date", y = "col_a",
farge = 'g', data = df,
AX = AX [0] [0])
øks [0] [0].Tick_Params (labelRotation = 15)
sns.lineplot (x = "date", y = "col_b",
farge = 'b', data = df,
AX = AX [0] [1])
øks [0] [1].Tick_Params (labelRotation = 15)
sns.lineplot (x = "date", y = "col_c",
farge = 'r', data = df,
AX = AX [1] [0])
øks [1] [0].Tick_Params (labelRotation = 15)
sns.lineplot (x = "date", y = "col_d",
farge = 'y', data = df,
AX = AX [1] [1])
øks [1] [1].Tick_Params (labelRotation = 15)
Fig.tight_layout (pad = 1.25)
plt.forestilling()

Her har vi flere tidsserieplottrepresentasjoner med de forskjellige kolonnene og de forskjellige fargelinjene ved å bruke linjeplottet.

Eksempel 4: Lag en tidsserie -plott ved å bruke en bar plot

De observerte verdiene er avbildet i rektangulære stenger ved bruk av en stangplott. Seaborn Barplot () -teknikken brukes til å konstruere bargrafer i Pythons Seaborn -modul. Når du viser kontinuerlige tidsserie-data, kan en stolpeplott brukes.

Deretter har vi angitt dataene for tidsserien ved hjelp av Panda -modulfunksjonen kalt en dataramme. Inne i datarammen setter vi datoene og opprettet en liste over tall som representerer oppmøteprosenten. Med to_dateTime () -funksjonen har vi satt datoformatet for tidsserie -plottene. Vi har også definert størrelsen på figuren på tidsserien. Etter det har vi en Barplot () -funksjon som tar verdiene for X- og Y -parametrene for tidsserien.

Importer pandaer som PD
Importer matplotlib.Pyplot som Plt
Importer sjøborn som SNS
df = pd.DataFrame ("Dato": ['01052022', '01062022', '01072022', '01082022',
'01092022', '01102022'],
"Oppmøte": [88,78,90,68,84,75])
DF ["Dato"] = PD.to_datetime (df ["date"], format = "%d%m%y")
plt.Figur (FigSize = (10,9))
sns.barplot (x = 'date', y = 'oppmøte', data = df)
plt.forestilling()

For tidsserie-data gir følgende graf en alternativ visualisering:

Konklusjon

Dette er en grunnleggende oversikt over hvordan du genererer tidsserier for tidsrelaterte inngang. Når du har flere datapunkter i et spesifikt tidsrom, er et tidsserie -plott en utmerket tilnærming for å representere dataene dine. Fra å lage et lite datasett med Pandas-sekvens til å integrere et virkelighetsdatasett og plotte tidsserier som er avhengig av dine behov, guider denne artikkelen deg gjennom alt du trenger å vite.