0% found this document useful (0 votes)
35 views26 pages

Chapter 1

This document provides an introduction to interactive data visualization with Bokeh, an open-source Python library. It covers building basic plots like scatter plots and line charts from Pandas DataFrames. The document also demonstrates customizing visualizations with tools like selecting points and displaying hover information.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views26 pages

Chapter 1

This document provides an introduction to interactive data visualization with Bokeh, an open-source Python library. It covers building basic plots like scatter plots and line charts from Pandas DataFrames. The document also demonstrates customizing visualizations with tools like selecting points and displaying hover information.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Introduction to

Bokeh
I N T E R A C T I V E D ATA V I S U A L I Z AT I O N W I T H B O K E H

George Boorman
Core Curriculum Manager, DataCamp
What is Bokeh?
Documentation

Gallery

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Course overview
Chapter 1: Introduction to Bokeh

Chapter 2: Customizing visualizations

Chapter 3: Storytelling with visualizations

Chapter 4: Introduction to widgets

INTERACTIVE DATA VISUALIZATION WITH BOKEH


import pandas as pd
nba = pd.read_csv("nba.csv")
print(nba.columns)

Index(['player', 'position', 'minutes', 'field_goal_perc', 'three_point_perc',


'free_throw_perc', 'rebounds', 'assists', 'steals', 'blocks', 'points',
'team', 'conference', 'scorer_category'],
dtype='object')

print(nba.shape)

(424, 14)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Setting up a figure
from bokeh.plotting import figure
from bokeh.io import output_file, show
fig = figure()
output_file(filename="empty_figure.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Building a scatter plot
fig = figure(x_axis_label="Minutes Played", y_axis_label="Points Per Game")
fig.circle(x=nba["minutes"], y=nba["points"])
output_file(filename="nba_points.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Displaying a line plot
fig = figure(x_axis_label="Season", y_axis_label="Points")
fig.line(x=lebron["season"], y=lebron["points"])
output_file(filename="lebron_points_per_season.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Plotting categorical data
positions = nba.groupby("position", as_index=False)["points"].mean()
fig = figure(x_axis_label="Position", y_axis_label="Points per Game",
x_range=positions["position"])
fig.vbar(x=positions["position"], top=positions["points"])
output_file(filename="nba_points_by_position.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Let's practice!
I N T E R A C T I V E D ATA V I S U A L I Z AT I O N W I T H B O K E H
Configuration tools
I N T E R A C T I V E D ATA V I S U A L I Z AT I O N W I T H B O K E H

George Boorman
Core Curriculum Manager, DataCamp
The default toolbar
PanTool
pan

BoxZoomTool
box_zoom

WheelZoomTool
wheel_zoom

Save
save

Reset
reset

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Configuration tools
We will cover:

Pan/Drag tools

Click/Tap tools
Scroll/Pinch tools

Other tools outside of course scope:

Actions

Inspectors
Edit tools
1 http://docs.bokeh.org/en/latest/docs/user_guide/tools.html

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Pan/drag tools
PanTool
pan

BoxSelectTool
box_select

BoxZoomTool
box_zoom

LassoSelectTool
lasso_select

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Click/tap tools

PolySelectTool

poly_select

TapTool

tap

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Scroll/pinch tools
WheelZoomTool

wheel_zoom

WheelPanTool
xwheel_pan

ywheel_pan

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Customizing the toolbar
from bokeh.models import BoxSelectTool
fig = figure(x_axis_label="Steals per Game",
y_axis_label="Assists per Game")
fig.circle(x=nba["steals"], y=nba["assists"])
fig.add_tools(BoxSelectTool())
output_file(filename="adding_box_select.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Custom list of tools
tools = ["lasso_select", "box_zoom", "tap"]
fig = figure(x_axis_label="Steals", y_axis_label="Assists",
tools=tools)
fig.circle(x=nba["steals"], y=nba["assists"])
output_file(filename="custom_tools.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Let's practice!
I N T E R A C T I V E D ATA V I S U A L I Z AT I O N W I T H B O K E H
Adding
LassoSelectTool
I N T E R A C T I V E D ATA V I S U A L I Z AT I O N W I T H B O K E H

George Boorman
Core Curriculum Manager, DataCamp
Inspectors

CrosshairTool

crosshair

HoverTool

hover

1 https://docs.bokeh.org/en/latest/docs/user_guide/tools.html#userguide-tools-inspectors

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Bokeh data source objects
from bokeh.models import ColumnDataSource
source = ColumnDataSource(data=nba)
fig = figure(x_axis_label="Minutes Played", y_axis_label="Points Per Game")
fig.circle(x="assists", y="points", source=source)
output_file(filename="ColumnDataSource.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Setting up the HoverTool
from bokeh.models import ColumnDataSource
source = ColumnDataSource(data=nba)
TOOLTIPS = [("Name", "@player"), ("Team", "@team")]
fig = figure(x_axis_label="Assists", y_axis_label="Points",
tooltips=TOOLTIPS)
fig.circle(x="assists", y="points", source=source)
output_file("name_and_team.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


HoverTool in action

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Displaying numeric data
TOOLTIPS = [("Name", "@player"), ("Team", "@team"),
("Points", "@points"), ("Assists", "@assists")]
fig = figure(x_axis_label="Assists", y_axis_label="Points", tooltips=TOOLTIPS)
fig.circle(x="assists", y="points", source=source)
output_file("hovertool.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Formatting the HoverTool
TOOLTIPS = [("Name", "@player"), ("Team", "@team"),
("Points", "@points{0.2f}"), ("Assists", "@assists{0.2f}")]
fig = figure(x_axis_label="Assists", y_axis_label="Points", tooltips=TOOLTIPS)
fig.circle(x="assists", y="points", source=source)
output_file("formatted_hovertool.html")
show(fig)

INTERACTIVE DATA VISUALIZATION WITH BOKEH


Let's practice!
I N T E R A C T I V E D ATA V I S U A L I Z AT I O N W I T H B O K E H

You might also like