Datenvisualisierung spielt eine entscheidende Rolle bei der Interpretation großer Informationsmengen. Tools wie Bokeh haben sich zu beliebten Lösungen für die Erstellung interaktiver Dashboards und Berichte entwickelt. Jedes Tool bietet je nach Komplexität Ihres Projekts und Ihrer bevorzugten Programmiersprache einzigartige Vorteile. In diesem Artikel werden wir uns mit den einzelnen Tools befassen und uns dann auf Bokeh konzentrieren, einschließlich eines praktischen Beispiels und der Bereitstellung in der Cloud.
Damit...
Was ist Bokeh?
Bokeh ist eine interaktive Visualisierungsbibliothek, die sich für die Präsentation an moderne Webbrowser richtet. Es bietet elegante und prägnante Grafiken und ermöglicht Entwicklern die Erstellung von Dashboards mit erweiterter Interaktivität. Bokeh eignet sich besonders für Datenwissenschaftler und Entwickler, die Python verwenden, und bietet sowohl High-Level-Schnittstellen als auch eine detaillierte Kontrolle über Ihre Plots.
Wie können Sie dieses Tool verwenden?
pip install bokeh
pip install gunicorn
from bokeh.layouts import column from bokeh.models import ColumnDataSource, Select from bokeh.plotting import figure, curdoc import numpy as np # Sample data for line plot line_data = { 'x': [1, 2, 3, 4, 5], 'y1': [6, 7, 2, 4, 7], 'y2': [1, 4, 8, 6, 9] } # Data for scatter plot N = 4000 x_scatter = np.random.random(size=N) * 100 y_scatter = np.random.random(size=N) * 100 radii = np.random.random(size=N) * 1.5 colors = np.array([(r, g, 150) for r, g in zip(50 + 2 * x_scatter, 30 + 2 * y_scatter)], dtype="uint8") # Create ColumnDataSource for line plot source = ColumnDataSource(data={'x': line_data['x'], 'y': line_data['y1']}) # Create a figure for line plot plot_line = figure(title="Interactive Line Plot", x_axis_label='X', y_axis_label='Y') line1 = plot_line.line('x', 'y', source=source, line_width=3, color='blue', legend_label='y1') line2 = plot_line.line('x', 'y2', source=source, line_width=3, color='red', legend_label='y2', line_alpha=0.5) # Create a figure for scatter plot plot_scatter = figure(title="Scatter Plot", tools="hover,crosshair,pan,wheel_zoom,zoom_in,zoom_out,box_zoom,undo,redo,reset,tap,save,box_select,poly_select,lasso_select,examine,help") plot_scatter.circle(x_scatter, y_scatter, radius=radii, fill_color=colors, fill_alpha=0.6, line_color=None) # Dropdown widget to select data for line plot select = Select(title="Y-axis data", value='y1', options=['y1', 'y2']) # Update function to change data based on selection def update(attr, old, new): selected_y = select.value source.data = {'x': line_data['x'], 'y': line_data[selected_y]} # Update line colors based on selection line1.visible = (selected_y == 'y1') line2.visible = (selected_y == 'y2') plot_line.title.text = f"Interactive Line Plot - Showing {selected_y}" select.on_change('value', update) # Arrange plots and widgets in a layout layout = column(select, plot_line, plot_scatter) # Add layout to current document curdoc().add_root(layout) `
Erstellen Sie Ihre Seite in Heroku und führen Sie die nächsten Schritte aus.
In dieser Datei zum Beispiel in meinem Fall angeben.
web: Bokeh Serve --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancitoelpapi-325d94c2c6c7.herokuapp.com app.py
Bokeh
Ähnlich ist es, wenn Sie ein Projekt in Git pushen, aber in diesem Fall erfolgt der letzte Master-Push in Heroku
git init
git add .
git commit -m „Bokeh-App mit Gunicorn bereitstellen“
Git Push Heroku Master
Sie können Ihre Seite mit den Bokeh-Plots sehen.
Die wahre Stärke von Bokeh liegt in seiner Fähigkeit, interaktive Dashboards in Webumgebungen bereitzustellen, was es ideal für die Echtzeit-Datenüberwachung und große Datensätze macht. Durch die Verwendung von Gunicorn zur Bereitstellung von Bokeh-Anwendungen auf Cloud-Diensten wie Heroku können Sie skalierbare, produktionsbereite Dashboards erstellen, die einfach zu warten und zu aktualisieren sind.
Das obige ist der detaillierte Inhalt vonBokeh ist ein interessantes Datentool in Python zur Datenvisualisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!