
まくまく
データ可視化ライブラリBokehの使い方を学びます。今回はcsvファイルを読み込んで、それをテーブルで表示してみようと思います。
csvを読み込んでテーブル表示する方法
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, TableColumn
from bokeh.plotting import show
import pandas as pd
df = pd.read_csv('test.csv')
source = ColumnDataSource(df)
columns = [TableColumn(field = column ,title= column) for column in df.columns]
data_table = DataTable(source = source, columns = columns ,width=500, height=500, fit_columns=True)
show(data_table)
↑HTMLで書き出しているので、値をクリックできます。
グラフも同時に表示する場合
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, TableColumn
from bokeh.plotting import show
from bokeh.plotting import figure
from bokeh.transform import factor_cmap
from bokeh.palettes import Spectral6
from bokeh.layouts import row
import pandas as pd
df = pd.read_csv('test.csv',header=0)
source = ColumnDataSource(df)
columns = [TableColumn(field = column ,title= column) for column in df.columns]
data_table = DataTable(source = source, columns = columns ,width=500, height=500, fit_columns=True)
x = df[df.columns[0]]
y = df[df.columns[1]]
p = figure(title="Glyphs properties example", x_axis_label="x", y_axis_label="y",width=500, height=500)
circle = p.circle(
x,
y,
legend_label="Objects",
fill_color="red",
fill_alpha=0.5,
line_color="blue",
size=80,
)
glyph = circle.glyph
glyph.fill_color = "blue"
layout = row(data_table, p)
show(layout)
A列のデータで散布図を作成してみました。このようにテーブルの横にグラフを表示することも可能です。