Seuraava artikkeli auttaa sinua: Mitä graafiobjektit ovat Plotlyssa ja miten niitä käytetään?
Plotly on avoimen lähdekoodin Python-kirjasto, jota käytetään tietojen visualisointiin luomalla interaktiivisia ja hienoja juonia. Graafiobjektit ovat kuvallisia esityksiä linkeillä toisiinsa yhdistetyistä objektijärjestelmistä. Moduuli plotly.graph_objects sisältää Python-luokkien hierarkian, jotka edustavat muita kuin lehtiä olevia solmuja tässä kuviokaaviossa. “Kaavioobjektit” ovat näiden luokkien esiintymiä. Tässä artikkelissa tarkastellaan Plotly-kirjaston graafiobjektien (moduulin) käyttöä, selitetään se alusta alkaen ja katetaan kaikki yleisimmin käytetyt kaaviot. Seuraavat kohdat ja juonet, joita tämä artikkeli käsittelee.
Sisällysluettelo
- Miksi käyttää graafisia objekteja Plotly expressin sijaan?
- Tietojen kuvaus
- Visualisointi Plotly-grafiikkaobjekteilla
- Baari juoni
- Hajakuvaaja
- Osajutut
Aloitetaan graafisten objektien eduista Plotly expressiin verrattuna.
Miksi käyttää graafisia objekteja Plotly expressin sijaan?
Plotlyn kirjasto käyttää taustalla olevia graafiobjekteja kuviensa tuottamiseen, ellei manuaalista rakentamista tehdä sanakirjoista. Plotly expressillä on monia etuja, mutta kysymys kuuluu miksi käyttää graafista objektimoduulia. Katsotaanpa miksi:
- Figuurit, jotka käyttävät tiettyjä 3D-jäljitystyyppejä, kuten verkkoa tai isosurfacea, eivät ole vielä mahdollisia Plotly Expressillä.
- Plotly express lataa tiedot palvelimelleen palauttaakseen graafisen esityksen, kun taas graafiobjektissa tällaista ei tapahdu.
Etsitkö täydellistä arkistoa tietotieteessä käytettävistä Python-kirjastoista, katso tästä.
Tietojen kuvaus
Tässä artikkelissa käytetyt tiedot koskevat päivän lopun hienoja 50 osakkeen hintoja, joissa on yhteensä 13 osakkeisiin liittyvää ominaisuutta. Nämä tiedot on otettu kaggle-arkistosta, joka mainitaan viitteissä. Ominaisuuksien kuvaus on lueteltu alla.
- Symboli: Nimeä osake
- Avoin: Tietyn osakkeen avaushinta markkinoiden avautuessa
- Korkein: Osakkeen korkein hinta päivän sisällä
- Matala: Osakkeen alin hinta päivän sisällä
- LTP: Last Traded Price tarkoittaa osakkeen hintaa, jolla viimeisin tapahtuma tai kauppa tapahtui.
- Chng: Osakekurssin muutoksen määrä
- % Chng: Muutoksen prosenttiosuus
- Volyymi: Päivän osakekaupan kokonaismäärä
- Liikevaihto: Yrityksen kokonaisliikevaihto
- 52w H: korkein hinta, jolla arvopaperi/osake on käynyt kauppaa 52 viikon aikana eli vuodessa
- 52w L: alin hinta, jolla arvopaperi/osake on käynyt kauppaa 52 viikon aikana eli vuodessa
- 365 d % chng: osakkeen muutosprosentti 365 päivässä (vuosi)
- 30 d % chng: osakkeen muutosprosentti 30 päivässä (kuukausi)
Näyte
Visualisointi Plotly-grafiikkaobjekteilla
Visualisoi tiedot plotlyn graafisen objektimoduulin avulla ja opi käyttämään tämän moduulin eri luokkia.
Kirjastojen tuonti:
tuo pandat pd:nä tuo numpy as np tuonti plotly.graph_objects as go
Tietojoukon lukeminen ja esikäsittely:
df=pd.read_csv(‘Nifty50.csv’) df[[’52w H’,’52w L’,’Open’, ‘High’, ‘Low’]]=df[[’52w H’,’52w L’,’Open’, ‘High’, ‘Low’]].replace(“,”,””,regex=True) df[[‘LTP’,’Turnover (crs.)’]]=df[[‘LTP’,’Turnover (crs.)’]].replace(“,”,””,regex=True) df[[’52w H’, ’52w L’,’Open’, ‘High’, ‘Low’, ‘LTP’,’Turnover (crs.)’]]=df[[’52w H’, ’52w L’,’Open’, ‘High’, ‘Low’, ‘LTP’,’Turnover (crs.)’]].astype(float) df.head()
Tietojoukko vaati esikäsittelyä, arvoissa oli pilkkuja (,), joita tarvittiin korvaamaan ne sekä muuttamaan kaikki arvot kelluviksi, jotta niitä voidaan käyttää tietojen visualisoinnissa.
Ennen esikäsittelyä:
Esikäsittelyn jälkeen:
Baari juoni
fig=go.Figure() fig.add_trace(go.Bar(x=df[‘Symbol’]y=df[‘Volume (lacs)’]name=”Kokonaismäärä”, näkyvä=True )) fig.show()
Vaihe 1: Tyhjän hahmon määrittäminen käyttämällä mene.Kuva() luokka ja luku, joka on tallennettu muuttujan nimeen “fig”.
Vaihe 2: Nyt on lisättävä kuvaaja muuttujaan tallennettuun tyhjään kuvaan, jolle add_trace() luokkaa käytetään. Jäljen sisällä luokka lisää piirrettävän juonen. Joten tämä pylväsdiagrammi annetaan syötteenä, jolloin määritellään x-akseli, y-akseli, kaavion nimi ja muut parametrit.
Vaihe 3: Kutsu nyt muuttuja, johon luku on tallennettu, ja näytä kuvaaja käyttämällä näytä() toiminto.
Nyt kaavio on piirretty, mutta se ei näytä siltä, että tässä on ruudukkomuotoista taustaa, ei x-akselin tai y-akselin tunnistetta, ei otsikkoa. Joten, jotta voimme lisätä kaiken tämän sisällön kaavioon, meidän on päivitettävä juonen asettelu.
Vaihe 4: Käytä update_layout() luokka päivittääksesi minkä tahansa kaavion parametrin.
fig.update_layout(showlegend=False, plot_bgcolor=”rgba(0,0,0,0)”, font=dict(family=’Arial’, size=12, color=”musta”), xaxis = dict(showgrid= False,tickangle = -45,categoryorder=”laskeva kokonaismäärä”,title_text=”osakkeiden nimi”), yaxis = dict(title_text=”kaupattujen osakkeiden kokonaismäärä”), title=dict(text=”osakkeen kokonaismäärä EOD “, font=dict(family=’Arial’, size=18, color=”musta”), x=0.5, y=0.9, xanchor=”center”, yanchor=”top”), )
Yllä olevassa koodissa taustaväri muutetaan valkoiseksi, fontti asetetaan kaaviossa näkyvälle tekstille, x-akseli ja y-akseli on kuvattu ominaisuuksineen, kuten kulma, jossa tarrat tulee esittää ja akselin nimi , ja lopuksi juonen otsikkoon lisätään joitain ominaisuuksia, kuten fontti ja sijainti. Joten lopullinen koodi näyttää tältä:
fig=go.Figure() fig.add_trace(go.Bar(x=df[‘Symbol’]y=df[‘Volume (lacs)’]name=”Kokonaismäärä”, näkyvä=True )) fig.update_layout(showlegend=False, plot_bgcolor=”rgba(0,0,0,0)”, font=dict(family=’Arial’, size=12, color=”black”), xaxis = dict(showgrid=False,tickangle = -45,categoryorder=”laskeva yhteensä”,title_text=”osakkeiden nimi”), yaxis = dict(title_text=”kaupattujen osakkeiden kokonaismäärä”) , title=dict(text=”varaston EOD kokonaismäärä”, font=dict(family=’Arial’, size=18, color=”musta”), x=0.5, y=0.9, xanchor=”center”, yanchor=”top”), ) fig.show()
Nyt juoni on lajiteltu laskevaan järjestykseen, siinä on x otsikkoa & y otsikkoa ja juomaan lisätään otsikko. Kuten olemme nähneet baarijuojien piirtämisen, niin katsotaanpa muiden perusjuojien piirtämistä.
Hajakuvaaja
Piirrä sirontakaavio viivoilla, jotka yhdistävät nämä datapisteet, jotta näet osakkeiden korkeimman ja alimman hinnan vaihtelun päivän lopussa.
fig=go.Figure() fig.add_trace(go.Scatter(x=df[‘Symbol’]y=df[’52w H’]mode=”linjat+merkit”, nimi=”korkea”)) fig.add_trace(go.Scatter(x=df[‘Symbol’]y=df[’52w L’]mode=”lines+markers”, name=”low”)) fig.update_layout(showlegend=True, plot_bgcolor=”rgba(0,0,0,0)”, font=dict(family=’Arial’, size =12, color=”musta”), xaxis = dict(showgrid=False,ticangle = -45,title_text=”osakkeiden nimi”), yaxis = dict(title_text=”osakkeiden hinta”), title=dict(teksti =”Korkeimman ja alimman osakekurssin vaihtelu”, font=dict(family=’Arial’, size=18, color=”black”), x=0.5, y=0.9, xanchor=”center”, yanchor=”top “), ) fig.show()
Ympyrädiagrammi
Katsotaan ympyrädiagrammin avulla, mikä on osakekurssin vuosimuutosprosentti.
fig=go.Figure() fig.add_trace(go.Pie(labels=df[‘Symbol’]arvot=df[‘365 d % chng’]name=”Vuoteen muutos”)) fig.update_traces(textposition=’inside’) fig.update_layout(uniformtext_minsize=12, uniformtext_mode=”hide”, title=dict(text=”Prosenttiosa osakekurssin vuosimuutoksesta”, font=dict(family=’Arial’, size=18, color=”musta”), x=0.5, y=0.9, xanchor=”center”, yanchor=”top”)) fig.show()
Osajutut
Piirretään nyt yllä oleva hajontakäyrä ja pylväskäyrä osakkeen vuotuisen muutoksen prosenttiosuudesta suhteessa osakekurssien vuotuiseen korkeimpaan ja alimmaiseen arvoon. Tällaisen kaavion piirtämistä varten sinun on luotava osakuvaaja, jossa on kaksi riviä ja yksi sarake. Katsotaan kuinka näyttää useita kaavioita yhdessä kuvaajan alikaavioiden avulla.
tuo plotly.subplots muodossa splt fig_sub = splt.make_subplots(rows=2, cols=1, row_heights=[0.7,0.9]subplot_titles=(“Vuotuinen ylin ja alin osakkeista”, “Prosenttiosuus vuosittaisesta varastojen muutoksesta”)) fig_sub.add_trace(go.Scatter(x=df[‘Symbol’]y=df[’52w H’]mode=”linjat+merkit”, nimi=”korkea”), rivi=1, col=1) fig_sub.add_trace(go.Scatter(x=df)[‘Symbol’]y=df[’52w L’]mode=”lines+markers”, name=”low”),row=1, col=1) fig_sub.add_trace(go.Bar(x=df)[‘Symbol’]y=df[‘365 d % chng’]nimi=”% muutos/vuosi”, näkyvä=True),rivi=2, col=1 ) fig_sub.update_xaxes(tickangle = -45, row=1, col=1) fig_sub.update_xaxes(ticangle = -45, rivi =2, col=1) fig_sub.update_layout(showlegend=True, plot_bgcolor=”rgba(0,0,0,0)”, font=dict(family=’Arial’, size=12, color=”musta”) , title=dict(text=”Vuotuinen vaihtelu osakkeissa”, font=dict(family=’Arial’, size=18, color=”red”), x=0.5, y=0.9, xanchor=”center”, yanchor =”yläosa”), korkeus=550 ) fig_sub.show()
fig_sub.show()
Alikaavio kahdella rivillä ja yhdellä sarakkeella käyttämällä make_subplot() luokan alikuva-moduuli ja tallenna se muuttujaan (‘fig_sub’). Muuttujaa, johon se on tallennettu ‘fig_sub’, käytetään jälkien päivittämiseen ja lisäämiseen kuten aiemmin selitettiin.
Lopullinen tuomio
Graafiobjektimoduuli on jokaisen Plotlyn tuottaman graafin selkäranka. Tässä artikkelissa olemme oppineet, milloin graafiobjekteja kannattaa käyttää, ja kävimme myös läpi niiden toteutuksen luodaksemme vuorovaikutteisia ja mielenkiintoisia visuaaleja tiedon avulla.
Viitteet