子圖

使用 Bokeh 製作互動式資料視覺化

George Boorman

Core Curriculum Manager, DataCamp

為何使用子圖?

直方圖

高 vs 低 列子圖

使用 Bokeh 製作互動式資料視覺化

建立橫列

from bokeh.layouts import row

east_source = ColumnDataSource(data=east) west_source = ColumnDataSource(data=west) fig_one = figure(x_axis_label="Assists per Game", y_axis_label="Points per Game") fig_two = figure(x_axis_label="Assists per Game", y_axis_label="Points per Game")
fig_one.circle(x="assists", y="points", source=east_source, color="blue", legend_label="East") fig_two.circle(x="assists", y="points", source=west_source, color="blue", legend_label="West")
output_file(filename="row_plots.html")
show(row(fig_one, fig_two))
使用 Bokeh 製作互動式資料視覺化

列子圖

NBA 列子圖

使用 Bokeh 製作互動式資料視覺化

欄子圖

from bokeh.layouts import column

fig_one = figure(x_axis_label="Assists", y_axis_label="Rebounds") fig_two = figure(x_axis_label="Assists", y_axis_label="Rebounds") fig_one.circle(x="assists", y="rebounds", source=east_source, color="blue", legend_label="East") fig_two.circle(x="assists", y="rebounds", source=east_source, color="blue", legend_label="East")
output_file(filename="column_plots.html") show(column(fig_one, fig_two))

基本直欄圖

使用 Bokeh 製作互動式資料視覺化

建立網格圖

from bokeh.layouts import gridplot

positions = ["PG", "SG", "SF", "PF"]
plots = []
for position in positions:
nba_positions = nba.loc[nba["position"] == position] source = ColumnDataSource(data=nba_positions)
fig = figure(x_axis_label="Assists", y_axis_label="Points")
fig.circle(x="assists", y="points", source=source, legend_label=position)
plots.append(fig)
output_file(filename="nba_gridplot.html") show(gridplot(plots, ncols=2))
使用 Bokeh 製作互動式資料視覺化

網格圖

網格圖

使用 Bokeh 製作互動式資料視覺化

自訂圖形尺寸

fig = figure(x_axis_label="Assists", y_axis_label="Rebounds",

width=750, height=300)
fig.circle(x="assists", y="rebounds", source=source) output_file(filename="custom_size_plot.html") show(fig)

自訂尺寸圖

使用 Bokeh 製作互動式資料視覺化

一起來練習吧!

使用 Bokeh 製作互動式資料視覺化

Preparing Video For Download...