Plotly Dash installieren und einrichten

Plotly Dash ist ein Python Framework, um analytische Web-Applikationen zu erstellen. Aufgebaut auf Flask, plotly.js und react.js, können Daten visualisiert werden. Es bietet dabei Methoden, um einfache User-Interfaces zu erstellen, alles basierend auf Python. Plotly ist mehr und mehr in kommen und bietet mittlerweile eine große Community. Auch hier in Deutschland wird es immer populärer. T-Systems selbst ist mittlerweile mit plotly gepartnert. Die Applikationen werden in einem Web-Browser gerendert und sind somit direkt geeignet für mehrere Plattformen und natürlich auch mobilen Geräten. 

Plotly Dash Installation

Um Dash verwenden können, installieren wir die Anforderungen. Damit die Pakete nicht mit anderen in die Quere kommen, machen wir das ganze in einer virtuelle Umgebung.

python3 -m venv plotly
cd plotly
source bin/activate

Zusätzlich installieren wir folgende Pakete über den Package-Manager pip3.

pip3 install dash
pip3 install dash-auth
pip3 install dash_daq

Das wärs schon bezüglich der Installation. Ich möchte euch hier jetzt ein Beispiel aus der Dash Dokumentation zeigen.

import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import plotly.express as px

import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv')

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div([
    dcc.Graph(id='graph-with-slider'),
    dcc.Slider(
        id='year-slider',
        min=df['year'].min(),
        max=df['year'].max(),
        value=df['year'].min(),
        marks={str(year): str(year) for year in df['year'].unique()},
        step=None
    )
])


@app.callback(
    Output('graph-with-slider', 'figure'),
    Input('year-slider', 'value'))
def update_figure(selected_year):
    filtered_df = df[df.year == selected_year]

    fig = px.scatter(filtered_df, x="gdpPercap", y="lifeExp",
                     size="pop", color="continent", hover_name="country",
                     log_x=True, size_max=55)

    fig.update_layout(transition_duration=500)

    return fig


if __name__ == '__main__':
    app.run_server(debug=True)

Das Beispiel könnt ihr direkt testen, indem ihr den Code in eine Datei packt und diese mit

python3 <name>.py 

ausführt. Per Default ist die Seite nur über localhost über den Port 3000 erreichbar. Ihr könnt den Host + Port allerdings ändern. Ersetzt dafür die letzte Zeile mit:

app.run_server(debug=True,Host='192.168.100.1',Port='3333')

Wer sich für Plotly Dash interessiert und wissen möchte, was alles möglich ist, kann sich die Gallery anschauen. Hier findet ihr eine Vielzahl an Beispiele. Ebenfalls habe ich in einem zusätzlichen Beitrag beschrieben, wie ihr Plotly Dash mit Apache2 in ein Produktivsystem einsetzen könnt.

Auch ich habe schon das ein oder andere Dashboard erstellt und kann nur somit wiederholen, was ich oben schon geschrieben habe. Mit etwas Python Kenntnissen ist im nu ein Dashboard erstellt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert