Gegevenswetenschap

Python Plotly-zelfstudie

Python Plotly-zelfstudie
Plotly is een analysebedrijf dat bekend staat om het ontwikkelen van realtime analyse-, statistieken- en grafische tools voor webgebaseerde applicaties en stand-alone Python-scripts. In deze les kijken we naar basisvoorbeelden met Plotly en bouwen we eenvoudige en intuïtieve tijdreeksgegevensgrafieken op die 100% interactief van aard zijn en toch gemakkelijk te ontwerpen. Deze grafieken kunnen worden gebruikt in presentaties omdat ze volledig interactief zijn en klaar om mee te spelen.

Er is ook een optie om een ​​grafiekontwerp offline op te slaan, zodat ze gemakkelijk kunnen worden geëxporteerd. Er zijn nog veel meer functies die het gebruik van de bibliotheek heel eenvoudig maken:

Om het Plotly-pakket te gaan gebruiken, moeten we ons registreren voor een account op de eerder genoemde website om een ​​geldige gebruikersnaam en API-sleutel te verkrijgen waarmee we de functionaliteiten kunnen gaan gebruiken. Gelukkig is er een gratis prijsplan beschikbaar voor Plotly waarmee we genoeg functies krijgen om grafieken van productiekwaliteit te maken.

Plotly installeren

Even een opmerking voordat je begint, je kunt voor deze les een virtuele omgeving gebruiken die we kunnen maken met het volgende commando:

python -m virtualenv plotly
bron numpy/bin/activate

Zodra de virtuele omgeving actief is, kunt u de Plotly-bibliotheek in de virtuele omgeving installeren, zodat de voorbeelden die we vervolgens maken, kunnen worden uitgevoerd:

pip plotly installeren

We zullen in deze les gebruik maken van Anaconda en Jupyter. Als je het op je computer wilt installeren, kijk dan naar de les die beschrijft "Hoe Anaconda Python op Ubuntu 18 te installeren".04 LTS" en deel uw feedback als u problemen ondervindt. Om Plotly met Anaconda te installeren, gebruik je de volgende opdracht in de terminal van Anaconda:

conda install -c plotly plotly

We zien zoiets als dit wanneer we het bovenstaande commando uitvoeren:

Zodra alle benodigde pakketten zijn geïnstalleerd en klaar zijn, kunnen we aan de slag met het gebruik van de Plotly-bibliotheek met de volgende importverklaring:

plotly importeren

Als je eenmaal een account hebt gemaakt op Plotly, heb je twee dingen nodig: gebruikersnaam van het account en een API-sleutel. Er kan slechts één API-sleutel bij elk account horen. Bewaar het dus ergens veilig alsof u het verliest, u moet de sleutel opnieuw genereren en alle oude applicaties die de oude sleutel gebruiken, zullen niet meer werken.

In alle Python-programma's die u schrijft, vermeldt u de inloggegevens als volgt om met Plotly te gaan werken:

samenzwering.hulpmiddelen.set_credentials_file(gebruikersnaam = 'gebruikersnaam', api_key = 'uw-api-sleutel')

Laten we nu aan de slag gaan met deze bibliotheek.

Aan de slag met Plotly

We zullen gebruik maken van de volgende importen in ons programma:

panda's importeren als pd
importeer numpy als np
importeer scipy als sp
plotly importeren.plotly als py

Wij maken gebruik van:

Voor sommige van de voorbeelden zullen we gebruik maken van Plotly's eigen datasets die beschikbaar zijn op Github. Houd er ten slotte rekening mee dat u de offline modus voor Plotly ook kunt inschakelen wanneer u Plotly-scripts moet uitvoeren zonder een netwerkverbinding:

panda's importeren als pd
importeer numpy als np
importeer scipy als sp
plotly importeren
samenzwering.offline.init_notebook_mode(connected=True)
plotly importeren.offline als py

U kunt de volgende instructie uitvoeren om de Plotly-installatie te testen:

afdrukken (plotseling).__versie__)

We zien zoiets als dit wanneer we het bovenstaande commando uitvoeren:

We zullen uiteindelijk de dataset met Panda's downloaden en visualiseren als een tabel:

plotly importeren.figure_factory als ff
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/school_
verdiensten.csv")
tafel = ff.create_table(df)
py.iplot(tabel, bestandsnaam='tabel')

We zien zoiets als dit wanneer we het bovenstaande commando uitvoeren:

Laten we nu een construeren Staafdiagram om de gegevens te visualiseren:

plotly importeren.graph_objs als go
gegevens = [ga.Staaf(x=df.School, y=df.Dames)]
py.iplot(data, bestandsnaam='women-bar')

We zien zoiets als dit wanneer we het bovenstaande codefragment uitvoeren:

Wanneer u de bovenstaande grafiek met Jupyter-notebook ziet, krijgt u verschillende opties te zien voor in- en uitzoomen op een bepaald gedeelte van de grafiek, Box & Lasso selecteren en nog veel meer.

Gegroepeerde staafdiagrammen

Meerdere staafdiagrammen kunnen heel eenvoudig worden gegroepeerd voor vergelijkingsdoeleinden met Plotly. Laten we hiervoor dezelfde dataset gebruiken en variatie laten zien in de aanwezigheid van mannen en vrouwen op universiteiten:

vrouwen = gaan.Staaf(x=df.School, y=df.Dames)
mannen = gaan.Staaf(x=df.School, y=df.Mannen)
gegevens = [mannen, vrouwen]
lay-out = gaan.Lay-out(barmode = "groep")
vijg = gaan.Figuur(data = data, layout = layout)
py.iplot(fig)

We zien zoiets als dit wanneer we het bovenstaande codefragment uitvoeren:

Hoewel dit er goed uitziet, zijn de labels in de rechterbovenhoek dat niet, correct! Laten we ze corrigeren:

vrouwen = gaan.Staaf(x=df.School, y=df.Vrouwen, naam = "Vrouwen")
mannen = gaan.Staaf(x=df.School, y=df.Mannen, naam = "Mannen")

De grafiek ziet er nu veel beschrijvender uit:

Laten we proberen de barmodus te veranderen:

lay-out = gaan.Lay-out(barmode = "relatief")
vijg = gaan.Figuur(data = data, layout = layout)
py.iplot(fig)

We zien zoiets als dit wanneer we het bovenstaande codefragment uitvoeren:

Cirkeldiagrammen met Plotly

Nu zullen we proberen een cirkeldiagram te maken met Plotly dat een fundamenteel verschil vaststelt tussen het percentage vrouwen over alle universiteiten. De naam van de universiteiten zal de labels zijn en de werkelijke cijfers zullen worden gebruikt om het percentage van het geheel te berekenen. Hier is het codefragment voor hetzelfde:

traceren = gaan.Taart (labels = df.School, waarden = df.Dames)
py.iplot([trace], bestandsnaam='pie')

We zien zoiets als dit wanneer we het bovenstaande codefragment uitvoeren:

Het goede ding is dat Plotly wordt geleverd met veel functies voor in- en uitzoomen en vele andere hulpmiddelen om te communiceren met de geconstrueerde grafiek.

Visualisatie van tijdreeksgegevens met Plotly

Het visualiseren van tijdreeksgegevens is een van de belangrijkste taken die u tegenkomt als u een data-analist of een data-engineer bent.

In dit voorbeeld zullen we gebruik maken van een aparte dataset in dezelfde GitHub-repository, aangezien de eerdere data geen specifieke data met een tijdstempel bevatten. Zoals hier zullen we de variatie van Apple's marktaandelen in de loop van de tijd plotten:

financieel = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/
financiën-charts-appel.csv")
gegevens = [ga.Verspreiding (x=financieel.Datum, jaar = financieel['AAPL.Dichtbij'])]
py.iplot(gegevens)

We zien zoiets als dit wanneer we het bovenstaande codefragment uitvoeren:

Zodra u met uw muis over de grafiekvariatielijn beweegt, kunt u specifieke puntdetails maken:

We kunnen in- en uitzoomknoppen gebruiken om ook gegevens te zien die specifiek zijn voor elke week.

OHLC-diagram

Een OHLC-diagram (Open High Low close) wordt gebruikt om de variatie van een entiteit over een tijdspanne weer te geven. Dit is eenvoudig te construeren met PyPlot:

van 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]
datums = [datum/tijd(jaar=2013, maand=10, dag=10),
datetime(jaar=2013, maand=11, dag=10),
datetime(jaar=2013, maand=12, dag=10),
datetime(jaar=2014, maand=1, dag=10),
datetime(jaar=2014, maand=2, dag=10)]
traceren = gaan.Ohlc(x=datums,
open=open_data,
high=high_data,
low=low_data,
close=close_data)
gegevens = [spoor]
py.iplot(gegevens)

Hier hebben we enkele voorbeeldgegevenspunten gegeven die als volgt kunnen worden afgeleid:

Laten we nu het codefragment uitvoeren dat we hierboven hebben gegeven. We zien zoiets als dit wanneer we het bovenstaande codefragment uitvoeren:

Dit is een uitstekende vergelijking van hoe je tijdvergelijkingen van een entiteit met die van jezelf kunt maken en deze kunt vergelijken met zijn hoge en lage prestaties.

Conclusie

In deze les hebben we gekeken naar een andere visualisatiebibliotheek, Plotly, wat een uitstekend alternatief is voor Matplotlib in toepassingen van productiekwaliteit die worden weergegeven als webtoepassingen. Plotly is een zeer dynamische bibliotheek met veel functies om te gebruiken voor productiedoeleinden, dus dit is zeker een vaardigheid die we onder onze riem moeten hebben.

Vind alle broncode die in deze les wordt gebruikt op Github. Deel uw feedback over de les op Twitter met @sbmaggarwal en @LinuxHint.

Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...
OpenTTD versus Simutrans
Je eigen transportsimulatie maken kan leuk, ontspannend en buitengewoon aanlokkelijk zijn. Daarom moet je ervoor zorgen dat je zoveel mogelijk spellen...
OpenTTD-zelfstudie
OpenTTD is een van de meest populaire simulatiegames voor bedrijven die er zijn. In dit spel moet je een geweldig transportbedrijf creëren. U begint e...