"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Bokeh는 데이터 시각화를 위한 Python의 흥미로운 데이터 도구입니다.

Bokeh는 데이터 시각화를 위한 Python의 흥미로운 데이터 도구입니다.

2024-11-08에 게시됨
검색:636

데이터 시각화는 대량의 정보를 해석하는 데 중요한 역할을 합니다. Bokeh와 같은 도구는 대화형 대시보드 및 보고서를 작성하기 위한 인기 있는 솔루션으로 등장했습니다. 각 도구는 프로젝트의 복잡성과 선호하는 프로그래밍 언어에 따라 고유한 이점을 제공합니다. 이 기사에서는 각 도구를 자세히 살펴본 다음 실습 예제와 클라우드 배포를 포함하여 Bokeh에 중점을 둘 것입니다.

하도록 하다...

보케란 무엇인가요?
Bokeh는 프레젠테이션을 위해 최신 웹 브라우저를 대상으로 하는 대화형 시각화 라이브러리입니다. 우아하고 간결한 그래픽을 제공하므로 개발자는 고급 상호 작용 기능을 갖춘 대시보드를 구축할 수 있습니다. Bokeh는 Python을 사용하는 데이터 과학자 및 개발자에게 특히 적합하며, 높은 수준의 인터페이스와 플롯에 대한 세부적인 제어를 모두 제공합니다.

이 도구를 어떻게 사용할 수 있나요?

  • 종속성 설치:

pip 설치 보케
pip 설치 gunicorn

  • 플롯을 생성합니다. 이 경우 메인 페이지에 두 개의 플롯을 개발한 다음 "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)
`

heroku에서 페이지를 만들고 다음 단계를 수행하세요.

  • 프로필 파일 만들기:

Bokeh an interesting data tool in python for data visualization

이 파일에서 내 경우의 예를 선언합니다.

웹: 보케 서브 --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancitoelpapi-325d94c2c6c7.herokuapp.com app.py

  • 요구사항 생성: 프로젝트에서 요구 사항.txt를 생성하고
  • 를 작성하고 저장합니다.

Bokeh an interesting data tool in python for data visualization

보케

  • 프로젝트 푸시:

git에서 프로젝트를 푸시할 때와 비슷하지만 이 경우 최종 마스터 푸시는 heroku에 있습니다.

git 초기화
자식 추가 .
git commit -m "Gunicorn으로 Bokeh 앱 배포"
git push heroku 마스터

  • 그리고 마지막으로...

플롯 보케로 페이지를 볼 수 있습니다.

Bokeh an interesting data tool in python for data visualization

Bokeh an interesting data tool in python for data visualization

  • 결론

Bokeh의 진정한 힘은 웹 환경에서 대화형 대시보드를 제공하는 능력에 있으며 실시간 데이터 모니터링과 대규모 데이터 세트에 이상적입니다. Gunicorn을 사용하여 Heroku와 같은 클라우드 서비스에 Bokeh 애플리케이션을 배포하면 유지 관리 및 업데이트가 용이하고 확장 가능하며 프로덕션에 즉시 사용 가능한 대시보드를 구축할 수 있습니다.

릴리스 선언문 이 기사는 https://dev.to/juan_brendonlunajuarez_/bokeh-an-interesting-data-tool-in-python-for-data-visualization-2bd6?1에 재현되어 있습니다. 침해가 있는 경우에는 Study_golang@163으로 문의하시기 바랍니다. .com에서 삭제하세요
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3