ホームページ >バックエンド開発 >Python チュートリアル >データ視覚化のための Python の興味深いデータ ツール Bokeh

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

王林
王林オリジナル
2024-09-08 16:30:04871ブラウズ

データの視覚化は、大量の情報を解釈する上で重要な役割を果たします。 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: bokehserve --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 などのクラウド サービスにデプロイすると、保守と更新が簡単で、スケーラブルで実稼働対応のダッシュボードを構築できます。

以上がデータ視覚化のための Python の興味深いデータ ツール Bokehの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。