Bokeh-columndatasource

提供:Dev Guides
移動先:案内検索

ボケ-ColumnDataSource

Bokeh APIのほとんどのプロットメソッドは、ColumnDatasourceオブジェクトを介してデータソースパラメータを受け取ることができます。 プロットと「DataTable」の間でデータを共有します。

ColumnDatasourceは、列名とデータのリスト間のマッピングと見なすことができます。 値としてColumnDataSourceコンストラクターに渡される1つ以上の文字列キーとリストまたはnumpy配列を持つPython dictオブジェクト。

以下はその例です

from bokeh.models import ColumnDataSource
data = {'x':[1, 4, 3, 2, 5],
   'y':[6, 5, 2, 4, 7]}
cds = ColumnDataSource(data = data)

このオブジェクトは、グリフメソッドのsourceプロパティの値として使用されます。 以下のコードは、ColumnDataSourceを使用して散布図を生成します。

from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
data = {'x':[1, 4, 3, 2, 5],
   'y':[6, 5, 2, 4, 7]}
cds = ColumnDataSource(data = data)
fig = figure()
fig.scatter(x = 'x', y = 'y',source = cds, marker = "circle", size = 20, fill_color = "grey")
show(fig)

出力

ColumnDataSource

Python辞書をColumnDataSourceに割り当てる代わりに、Pandas DataFrameを使用できます。

「test.csv」(このセクションの前半で使用)を使用してDataFrameを取得し、それを使用してColumnDataSourceを取得し、ラインプロットをレンダリングします。

from bokeh.plotting import figure, output_file, show
import pandas as pd
from bokeh.models import ColumnDataSource
df = pd.read_csv('test.csv')
cds = ColumnDataSource(df)
fig = figure(y_axis_type = 'log')
fig.line(x = 'x', y = 'pow',source = cds, line_color = "grey")
show(fig)

出力

レンダリング