Python plotly tutorial

Python plotly tutorial
Plotly er et analyseselskap kjent for å utvikle sanntids analyser, statistikk og grafverktøy for nettbasert applikasjon og frittstående Python-skript. I denne leksjonen vil vi se på grunnleggende eksempler med plottly og bygge opp enkle og intuitive tidsserie-datagrafer som vil være 100% interaktiv i naturen og likevel enkle å designe. Disse grafene kan brukes i presentasjoner da de er fullt interaktive og klare til å leke med.

Det er også et alternativ å lagre en grafdesign offline slik at de enkelt kan eksporteres. Det er mange andre funksjoner som gjør bruken av biblioteket veldig enkelt:

  • Lagre grafer for bruk av offline som vektorgrafikk som er sterkt optimalisert for utskrifts- og publiseringsformål
  • Diagrammene som eksporteres er i JSON -formatet og ikke bildeformatet. Denne JSON kan lastes inn i andre visualiseringsverktøy som Tableau enkelt eller manipulert med Python eller R
  • Ettersom grafene som eksporteres er JSON i naturen, er det praktisk talt veldig enkelt å legge inn disse hitlistene i en webapplikasjon
  • Plotly er et godt alternativ for matplotlib for visualisering

For å begynne å bruke Plotly -pakken, må vi registrere oss for en konto på nettstedet som er nevnt tidligere for å få et gyldig brukernavn og API -nøkkel som vi kan begynne å bruke funksjonalitetene. Heldigvis er en friprisplan tilgjengelig for plotly som vi får nok funksjoner til å lage produksjonskart.

Installere plotly

Bare et notat før du starter, kan du bruke et virtuelt miljø for denne leksjonen som vi kan lages med følgende kommando:

python -m virtualenv plottly
Kilde numpy/bin/aktiverer

Når det virtuelle miljøet er aktivt, kan du installere Plotly Library i det virtuelle Env, slik at eksempler vi oppretter neste kan utføres:

Pip installer plotly

Vi vil benytte oss av Anaconda og Jupyter i denne leksjonen. Hvis du vil installere den på maskinen din, kan du se på leksjonen som beskriver “Hvordan installere Anaconda Python på Ubuntu 18.04 LTS ”og del tilbakemeldingene dine hvis du står overfor noen problemer. For å installere plotly med Anaconda, bruk følgende kommando i terminalen fra Anaconda:

conda install -c plotly plotly

Vi ser noe slikt når vi utfører kommandoen ovenfor:

Når alle pakkene som trengs er installert og gjort, kan vi komme i gang med å bruke plottly biblioteket med følgende importuttalelse:

Importer plotly

Når du har laget en konto på Plotly, trenger du to ting - brukernavn på kontoen og en API -nøkkel. Det kan bare være en API -nøkkel som tilhører hver konto. Så hold det et sted trygt som om du mister det, må du regenerere nøkkelen og alle gamle applikasjoner ved hjelp av den gamle nøkkelen vil slutte å fungere.

I alle Python -programmene du skriver, må du nevne legitimasjonen som følger for å begynne å jobbe med Plotly:

plotly.verktøy.set_credentials_file (brukernavn = 'brukernavn', api_key = 'din-api-key')

La oss komme i gang med dette biblioteket nå.

Komme i gang med plotly

Vi vil benytte oss av følgende import i programmet vårt:

Importer pandaer som PD
Importer numpy som NP
Importer scipy som SP
Importer plotly.Plott som Py

Vi bruker:

  • Pandas for å lese CSV -filer effektivt
  • Numpy for enkle tabelloperasjoner
  • Scipy for vitenskapelige beregninger
  • Plott for visualisering

For noen av eksemplene vil vi benytte oss av Plotlys egne datasett tilgjengelig på GitHub. Til slutt, vær oppmerksom på at du også kan aktivere offline -modus for plottly når du trenger å kjøre plottlyskript uten nettverkstilkobling:

Importer pandaer som PD
Importer numpy som NP
Importer scipy som SP
Importer plotly
plotly.frakoblet.init_notebook_mode (tilkoblet = sant)
Importer plotly.frakoblet som py

Du kan kjøre følgende uttalelse for å teste plottly installasjonen:

trykk (plotly.__versjon__)

Vi ser noe slikt når vi utfører kommandoen ovenfor:

Vi vil endelig laste ned datasettet med pandaer og visualisere det som en tabell:

Importer plotly.FIGUR_FACTORY AS FF
df = pd.read_csv ("https: // raw.GitHubUserContent.com/plotly/datasett/master/school_
inntjening.CSV ")
Tabell = ff.create_table (df)
py.iplot (tabell, filnavn = 'tabell')

Vi ser noe slikt når vi utfører kommandoen ovenfor:

La oss nå konstruere en Søylediagram For å visualisere dataene:

Importer plotly.graf_objs som go
data = [gå.Bar (x = df.Skole, y = df.Kvinner)]
py.iPlot (data, filnavn = 'Women-Bar')

Vi ser noe slikt når vi utfører ovennevnte kodebit:

Når du ser over diagrammet med Jupyter Notebook, vil du bli presentert for forskjellige alternativer for zoom inn/ut over en bestemt del av diagrammet, Box & Lasso Select og mye mer.

Grupperte stolpediagrammer

Flere søylediagrammer kan grupperes sammen for sammenligningsformål. La oss bruke samme datasett for dette og vise variasjon av menn og kvinner tilstedeværelse på universiteter:

kvinner = gå.Bar (x = df.Skole, y = df.Kvinner)
menn = gå.Bar (x = df.Skole, y = df.Menn)
data = [menn, kvinner]
Layout = GO.Layout (Barmode = "Group")
Fig = GO.Figur (data = data, layout = layout)
py.IPLOT (fig)

Vi ser noe slikt når vi utfører ovennevnte kodebit:

Selv om dette ser bra ut, er ikke etikettene øverst til høyre er, riktig! La oss rette dem:

kvinner = gå.Bar (x = df.Skole, y = df.Kvinner, navn = "kvinner")
menn = gå.Bar (x = df.Skole, y = df.Menn, navn = "menn")

Grafen ser mye mer beskrivende ut nå:

La oss prøve å endre barmoden:

Layout = GO.Layout (Barmode = "Relativ")
Fig = GO.Figur (data = data, layout = layout)
py.IPLOT (fig)

Vi ser noe slikt når vi utfører ovennevnte kodebit:

Kakediagrammer med plotly

Nå vil vi prøve å konstruere et kakediagram med plottly som etablerer en grunnleggende forskjell mellom prosentandelen av kvinner på tvers av alle universitetene. Navnet på universitetene vil være etikettene, og de faktiske tallene vil bli brukt til å beregne prosentandelen av hele. Her er kodebiten for det samme:

Spor = gå.PIE (etiketter = DF.Skole, verdier = df.Kvinner)
py.iplot ([Trace], filnavn = 'PIE')

Vi ser noe slikt når vi utfører ovennevnte kodebit:

Det gode er at Plotly kommer med mange funksjoner ved å zoome inn og ut og mange andre verktøy for å samhandle med det konstruerte diagrammet.

Tidsseriedatavisualisering med plotly

Visualisering av tidsserie-data er en av de viktigste oppgavene som kommer over når du er en dataanalytiker eller en dataingeniør.

I dette eksemplet vil vi benytte oss. Som her, vil vi planlegge variasjon av Apples markedsandel over tid:

Financial = PD.read_csv ("https: // raw.GitHubUserContent.com/plotly/datasett/master/
Finans-charts-Apple.CSV ")
data = [gå.Spredning (x = økonomisk.Dato, y = økonomisk ['AAPL.Lukk'])]
py.IPLOT (data)

Vi ser noe slikt når vi utfører ovennevnte kodebit:

Når du svever musen over grafvariasjonslinjen, kan du spesifikke punktdetaljer:

Vi kan bruke zoom inn og ut knapper for å se data som er spesifikke for hver uke også.

OHLC -diagram

Et OHLC (åpent høyt lavt lukk) diagram brukes til å vise variasjon av en enhet over et tidsrom. Dette er enkelt å konstruere med Pyplot:

fra DateTime Import DateTime
open_data = [33.0, 35.3, 33.5, 33.0, 34.1]
high_data = [33.1, 36.3, 33.6, 33.2, 34.8]
low_data = [32.7, 32.7, 32.8, 32.6, 32.8]
close_data = [33.0, 32.9, 33.3, 33.1, 33.1]
Datoer = [DateTime (år = 2013, måned = 10, dag = 10),
DateTime (år = 2013, måned = 11, dag = 10),
DateTime (år = 2013, måned = 12, dag = 10),
DateTime (år = 2014, måned = 1, dag = 10),
DateTime (år = 2014, måned = 2, dag = 10)]
Spor = gå.OHLC (x = datoer,
ÅPEN = OPEN_DATA,
High = High_Data,
lav = lav_data,
Lukk = Close_Data)
data = [spor]
py.IPLOT (data)

Her har vi gitt noen eksempler på datapunkter som kan utledes som følger:

  • De åpne dataene beskriver aksjeprisen da markedet åpnet
  • De høye dataene beskriver den høyeste aksjeprisen oppnådd gjennom en gitt periode
  • De lave dataene beskriver den laveste aksjeprisen oppnådd gjennom en gitt periode
  • De nære dataene beskriver den lukkende aksjefrekvensen når et gitt tidsintervall var over

La oss nå kjøre kodebiten vi har gitt ovenfor. Vi ser noe slikt når vi utfører ovennevnte kodebit:

Dette er utmerket sammenligning av hvordan man kan etablere tidssammenligninger av en enhet med sin egen og sammenligne den med dens høye og lave prestasjoner.

Konklusjon

I denne leksjonen så vi på et annet visualiseringsbibliotek, plottly som er et utmerket alternativ til matplotlib i produksjonskvalitetsapplikasjoner som blir utsatt som webapplikasjoner, plottly er et veldig dynamisk og funksjonsrikt bibliotek å bruke til produksjonsformål, så dette er definitivt en ferdighet vi trenger å ha under beltet.

Finn all kildekoden som brukes i denne leksjonen om GitHub. Del tilbakemeldingene dine på leksjonen på Twitter med @SBMaggarwal og @linuxhint.