Heim  >  Artikel  >  Backend-Entwicklung  >  Bokeh ist ein interessantes Datentool in Python zur Datenvisualisierung

Bokeh ist ein interessantes Datentool in Python zur Datenvisualisierung

王林
王林Original
2024-09-08 16:30:04745Durchsuche

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?

  • Abhängigkeiten installieren:

pip install bokeh
pip install gunicorn

  • Erstellen Sie die Handlung: In diesem Fall habe ich zwei Plots auf der Hauptseite entwickelt und dann „app.py“ aufgerufen

Bokeh an interesting data tool in python for data visualization

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.

  • Erstellen Sie eine Profildatei:

Bokeh an interesting data tool in python for data visualization

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

  • Anforderungen erstellen: Im Projekt „requirements.txt“ erstellen und schreiben und speichern

Bokeh an interesting data tool in python for data visualization

Bokeh

  • Dein Projekt vorantreiben:

Ä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

  • Und schließlich ...

Sie können Ihre Seite mit den Bokeh-Plots sehen.

Bokeh an interesting data tool in python for data visualization

Bokeh an interesting data tool in python for data visualization

  • Fazit

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn