Визуализация данных играет решающую роль в интерпретации больших объемов информации. Такие инструменты, как Bokeh, стали популярными решениями для создания интерактивных информационных панелей и отчетов. Каждый инструмент дает уникальные преимущества в зависимости от сложности вашего проекта и предпочитаемого вами языка программирования. В этой статье мы углубимся в каждый инструмент, а затем сосредоточимся на Bokeh, включая практический пример и развертывание в облаке.
Так что...
Что такое боке?
Bokeh — это интерактивная библиотека визуализации, предназначенная для представления в современных веб-браузерах. Он предлагает элегантную и лаконичную графику, позволяющую разработчикам создавать информационные панели с расширенными интерактивными возможностями. Функция Bokeh особенно подходит для специалистов по обработке данных и разработчиков, использующих Python, поскольку она предлагает как высокоуровневые интерфейсы, так и детальный контроль над графиками.
Как можно использовать этот инструмент?
pip install боке
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) `
Создайте свою страницу в героку и выполните следующие шаги.
В этом файле объявите, например, в моем случае.
web: подача боке --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancitoelpapi-325d94c2c6c7.herokuapp.com app.py
боке
Это похоже на отправку проекта в git, но в этом случае окончательная основная передача находится в герою
git инициализация
git добавить .
git commit -m "Развернуть приложение Bokeh с помощью Gunicorn"
git push геройку мастер
Вы можете увидеть свою страницу с участками боке.
Настоящая сила Bokeh заключается в его способности создавать интерактивные информационные панели в веб-средах, что делает его идеальным для мониторинга данных в реальном времени и больших наборов данных. Используя Gunicorn для развертывания приложений Bokeh в облачных сервисах, таких как Heroku, вы можете создавать масштабируемые, готовые к использованию информационные панели, которые легко поддерживать и обновлять.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3