Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bokeh alat data yang menarik dalam python untuk visualisasi data

Bokeh alat data yang menarik dalam python untuk visualisasi data

王林
王林asal
2024-09-08 16:30:04745semak imbas

Penggambaran data memainkan peranan penting dalam mentafsirkan sejumlah besar maklumat. Alat seperti Bokeh telah muncul sebagai penyelesaian popular untuk membina papan pemuka dan laporan interaktif. Setiap alat membawa kelebihan unik bergantung pada kerumitan projek anda dan bahasa pengaturcaraan pilihan anda. Dalam artikel ini, kami akan menyelidiki setiap alat dan kemudian menumpukan pada Bokeh, termasuk contoh praktikal dan penggunaan dalam awan.

Supaya...

Apa itu bokeh?
Bokeh ialah perpustakaan visualisasi interaktif yang menyasarkan pelayar web moden untuk pembentangan. Ia menawarkan grafik yang elegan dan ringkas, membolehkan pembangun membina papan pemuka dengan interaktiviti lanjutan. Bokeh amat sesuai untuk saintis data dan pembangun yang menggunakan Python, menawarkan kedua-dua antara muka peringkat tinggi dan kawalan berbutir ke atas plot anda.

Bagaimana anda boleh menggunakan alat ini?

  • Pasang kebergantungan:

pip pasang bokeh
pip pasang gunicorn

  • Buat plot: Dalam kes ini saya membangunkan dua plot dalam halaman utama kemudian saya memanggil "app.py"

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)
`

Buat halaman anda dalam heroku dan buat langkah seterusnya.

  • Buat Profil:

Bokeh an interesting data tool in python for data visualization

Dalam fail ini isytiharkan sebagai contoh dalam kes saya.

web: bokeh serve --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancitoelpapi-325d94c2c6c7.herokuapp.com app.py

  • Buat keperluan: Dalam projek, cipta keperluan.txt dan tulis serta simpan

Bokeh an interesting data tool in python for data visualization

bokeh

  • Tekan projek anda:

Ia serupa apabila anda menolak projek dalam git tetapi dalam kes ini tolakan induk terakhir berada dalam heroku

git init
git add .
git commit -m "Kerahkan aplikasi Bokeh dengan Gunicorn"
git push heroku master

  • Dan Akhirnya ...

Anda boleh melihat halaman anda dengan plot bokeh.

Bokeh an interesting data tool in python for data visualization

Bokeh an interesting data tool in python for data visualization

  • Kesimpulan

Kuasa sebenar Bokeh terletak pada keupayaannya untuk menyampaikan papan pemuka interaktif dalam persekitaran web, menjadikannya ideal untuk pemantauan data masa nyata dan set data yang besar. Dengan menggunakan Gunicorn untuk menggunakan aplikasi Bokeh pada perkhidmatan awan seperti Heroku, anda boleh membina papan pemuka berskala, sedia pengeluaran yang mudah diselenggara dan dikemas kini.

Atas ialah kandungan terperinci Bokeh alat data yang menarik dalam python untuk visualisasi data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn