Rumah > Artikel > pembangunan bahagian belakang > Bokeh alat data yang menarik dalam python untuk visualisasi data
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?
pip pasang bokeh
pip pasang 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) `
Buat halaman anda dalam heroku dan buat langkah seterusnya.
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
bokeh
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
Anda boleh melihat halaman anda dengan plot bokeh.
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!