「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > データ視覚化のための Python の興味深いデータ ツール Bokeh

データ視覚化のための Python の興味深いデータ ツール Bokeh

2024 年 11 月 8 日に公開
ブラウズ:190

データの視覚化は、大量の情報を解釈する上で重要な役割を果たします。 Bokeh のようなツールは、インタラクティブなダッシュボードやレポートを構築するための一般的なソリューションとして登場しています。各ツールは、プロジェクトの複雑さと好みのプログラミング言語に応じて、独自の利点をもたらします。この記事では、各ツールを詳しく掘り下げた後、実際の例やクラウドでの展開など、Bokeh に焦点を当てます。

となることによって...

ボケとは何ですか?
Bokeh は、最新の Web ブラウザーを対象としたプレゼンテーション用のインタラクティブな視覚化ライブラリです。エレガントで簡潔なグラフィックスを提供し、開発者が高度な対話性を備えたダッシュボードを構築できるようにします。 Bokeh は、Python を使用するデータ サイエンティストや開発者に特に適しており、高レベルのインターフェイスとプロットの詳細な制御の両方を提供します。

このツールはどのように使用できますか?

  • 依存関係のインストール:

pip インストールボケ
pip インストール ガニコーン

  • プロットを作成します: この場合、メインページで 2 つのプロットを作成してから、「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 でページを作成し、次の手順を実行します。

  • Procfile を作成します:

Bokeh an interesting data tool in python for data visualization

このファイルでは、たとえば私の場合を宣言します。

web: ボケサーブ --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancitoelpapi-325d94c2c6c7.herokuapp.com app.py

  • 要件の作成: プロジェクト内でrequirements.txtを作成し、
  • と書いて保存します。

Bokeh an interesting data tool in python for data visualization

ボケ

  • プロジェクトをプッシュします:

git でプロジェクトをプッシュする場合も同様ですが、この場合、最後のマスター プッシュは Heroku で行われます

git init
git add .
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 の真の力は、Web 環境でインタラクティブなダッシュボードを提供できる機能にあり、リアルタイムのデータ監視や大規模なデータセットに最適です。 Gunicorn を使用して Bokeh アプリケーションを Heroku などのクラウド サービスにデプロイすると、保守と更新が簡単で、スケーラブルで実稼働対応のダッシュボードを構築できます。

リリースステートメント この記事は次の場所に転載されています: 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