Python is uitstekend geschikt voor data analyse en data science. Een belangrijk aspect is data op een goede manier te visualiseren in dashboards. Middels Python zijn daar meerdere manieren voor. In dit artikel behandelen we vijf populaire manieren.
1. Python Dashboards met Touchbase
Een dashboard bestaat uit twee componenten: de data en de visualisatie daarvan. Soms wil je de visualisatie overlaten aan een andere tool en alleen de data aanleveren via Python-code. Onze rapportage tool Touchbase is daar bij uitstek geschikt voor.
Voordelen van Touchbase zijn:
- Visualisatie kunnen zeer eenvoudig worden geconfigureerd
- Tabulaire data kan worden gefilterd op allerlei manieren, à la Excel
- Rijen in tabellen kunnen worden voorzien van commentaar en worden toegewezen aan bepaalde personen. Zo maken we samenwerking mogelijk binnen het dashboard
- Je kan data tonen in portals en gebruikers toevoegen aan een portal, zodat gebruikers dashboards makkelijk online in kunnen zien
Je doorloopt drie stappen om jouw data in Touchbase te krijgen:
- Maak een account aan bij Touchbase en creëer je eigen portal
- Creëer een Python script dat data ontsluit en push deze naar Touchbase middels een REST API
- Bekijk de data in Touchbase
Het sturen van data naar Touchbase is eenvoudig. Hieronder zie je voorbeeldcode:
import pandas as pd
import requests
df = pd.read_csv('demo.csv')
api_key = 'yourkey'
api_endpoint = 'https://api.touchbase.report/api/report/'
r = requests.post(api_endpoint, json={
'table': df.to_json(orient='records'),
'report_path': ['Demo', 'Purchasing'],
'report_name': 'Purchase order lines',
'id_headers': ['Order'],
'api_key': api_key
})
print(f'Status: {str(r.status_code)} , response: {str(r.text)}')
De data is nu zichtbaar in Touchbase:
2. Python 'dashboards' via Matplotlib
Matplotlib is onmisbaar wanneer je in Python data wilt visualiseren. Dit package stelt je in staat om alle denkbare grafieken te kunnen maken. Aangezien Matplotlib erg uitgebreid is, is het aan te raden om de documentatie op de website door te nemen.
Een grafiek in Matplotlib kan worden geëxporteerd als bijvoorbeeld een png-bestand. Je kan ook meerdere grafieken in één afbeelding combineren, bijvoorbeeld door gebruik te maken van subplots. Indien je meer controle wilt over de layout kan je gebruik maken van de gridspec functionaliteit.
Als je tevreden bent over jouw verzameling subplots dan zou je dit bijvoorbeeld automatisch kunnen mailen naar de mensen waarvoor dit dashboard interessant is. Deze werkwijze is laagdrempelig, maar er is geen interactie met het dashboard mogelijk.
3. Python Dashboard via Plotly en Chart Studio
Plotly is een package waarmee interactieve visualisaties/ Python dashboards gemaakt kunnen worden. Een gebruiker kan bijvoorbeeld inzoomen of de muis over een datapunt bewegen om zo meer informatie te zien te krijgen. Visualisaties kunnen worden geëxporteerd als een html-bestand. Ook is het mogelijk om visualisaties via Chart Studio te tonen, waardoor je dashboards makkelijk kunt delen.
Een simpel voorbeeld kan als volgt gemaakt worden.
import plotly.graph_objects as go
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder2007.csv')
fig = go.Figure(go.Scatter(x=df.gdpPercap, y=df.lifeExp, text=df.country, mode='markers', name='2007'))
fig.update_xaxes(title_text='GDP per Capita', type='log')
fig.update_yaxes(title_text='Life Expectancy')
fig.write_html("plotly_example.html")
Dit geeft het onderstaande resultaat:
4. Een Python dashboard in Dash
Middels het package Dash kunnen 'echte' Python dashboards gemaakt worden: visualisaties gemaakt in Dash worden namelijk op een webpagina weergeven waarmee de gebruiker interactie kan hebben. Zo is het mogelijk om filters of sliders te maken zodat een gebruiker zelf kan kiezen welke data getoond wordt. Daarnaast stelt Dash je in staat om het dashboard middels een web server te tonen (vergelijkbaar met hoe bijvoorbeeld FastAPI werkt).
Dashboards gemaakt met Dash hebben eindeloos veel mogelijkheden. Op de website van Dash zijn voorbeelden te vinden van mogelijke dashboards.
5. Streamlit Python dashboards
Streamlit is een nieuwer package en is enigszins vergelijkbaar met Dash. Doorgaans is het iets simpeler. Een voorbeeld van een dashboard gemaakt met Streamlit dit dashboard over de Corona-cijfers in Nederland.
Wil je onze interactieve dashboarding tool Touchbase eens zien? Neem contact op voor een vrijblijvende demo. Wil je je doorontwikkelen als Data Scientist? Bekijk dan onderstaande opleidingsbrochures eens.
Download één van onze opleidingsbrochures voor meer informatie
Terry is afgestudeerd aan de TU Delft als ingenieur en heeft zich in zijn carrière beziggehouden met het optimaal benutten van data om bedrijfsprestaties te verbeteren. Dit heeft hij gedaan in verschillende rollen, als software ontwikkelaar en als data scientist.