0% found this document useful (1 vote)
66 views1 page

Bokeh Cheat Sheet Python For Data Science: 3 Renderers & Visual Customizations

The document provides a summary of key features for creating plots and customizing visualizations using Bokeh, including: 1. Adding different glyph types like circles, lines, and squares to represent data. 2. Customizing glyphs through properties like color, size, and alpha level. 3. Grouping related glyphs into renderers and adding legends. 4. Arranging multiple plots in layouts using rows, columns, grids, and nested layouts.

Uploaded by

locuto
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 (1 vote)
66 views1 page

Bokeh Cheat Sheet Python For Data Science: 3 Renderers & Visual Customizations

The document provides a summary of key features for creating plots and customizing visualizations using Bokeh, including: 1. Adding different glyph types like circles, lines, and squares to represent data. 2. Customizing glyphs through properties like color, size, and alpha level. 3. Grouping related glyphs into renderers and adding legends. 4. Arranging multiple plots in layouts using rows, columns, grids, and nested layouts.

Uploaded by

locuto
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/ 1

3 Renderers & Visual Customizations

Python For Data Science


Glyphs Legend Location
Inside Plot Area
Bokeh Cheat Sheet
Scatter Markers
>>> p.legend.location = 'bottom_left'
>>> p1.circle(np.array([1,2,3]), np.array([3,2,1]),

fill_color='white')
Outside Plot Area
>>> p2.square(np.array([1.5,3.5,5.5]), [1,4,3],

Learn Bokeh online at www.DataCamp.com


color='blue', size=1) >>>
>>>
from bokeh.models import Legend

r1 = p2.asterisk(np.array([1,2,3]), np.array([3,2,1])

taught by Bryan Van de Ven, core contributor >>> r2 = p2.line([1,2,3,4], [3,4,5,6])

>>> legend = Legend(items=[("One" ,[p1, r1]),("Two",[r2])],

Line Glyphs location=(0, -30))

>>> p1.line([1,2,3,4], [3,4,5,6], line_width=2)


>>> p.add_layout(legend, 'right')

Plotting With Bokeh


>>> p2.multi_line(pd.DataFrame([[1,2,3],[5,6,7]]),

pd.DataFrame([[3,4,5],[3,2,1]]),

color="blue") Legend Orientation


The Python interactive visualization library Bokeh enables high-performance >>> p.legend.orientation = "horizontal"

visual presentation of large datasets in modern web browsers.

Customized Glyphs Also see Data


>>> p.legend.orientation = "vertical"

Bokeh’s mid-level general purpose bokeh.plotting interface is centered Legend Background & Border
around two main components: data and glyphs. Selection and Non-Selection Glyphs
>>> p = figure(tools='box_select')
>>> p.legend.border_line_color = "navy"

>>> p.circle('mpg', 'cyl', source=cds_df,


>>> p.legend.background_fill_color = "white"
selection_color='red',

nonselection_alpha=0.1)
Rows & Columns Layout
Hover Glyphs
>>> from bokeh.models import HoverTool
Rows
>>> hover = HoverTool(tooltips=None, mode='vline')
>>> from bokeh.layouts import row

The basic steps to creating plots with the bokeh.plotting interface are:
>>> p3.add_tools(hover) >>> layout = row(p1,p2,p3)
1. Prepare some data (Python lists, NumPy arrays, Pandas DataFrames and other sequences of values)
Columns
2. Create a new plot
>>> from bokeh.layouts import columns

3. Add renderers for your data, with visual customizations


Colormapping >>> layout = column(p1,p2,p3)
4. Specify where to generate the output
>>> from bokeh.models import CategoricalColorMapper
Nesting Rows & Columns
5. Show or save the results >>> color_mapper = CategoricalColorMapper(

>>>layout = row(column(p1,p2), p3)


factors=['US', 'Asia', 'Europe'],

>>> from bokeh.plotting import figure


palette=['blue', 'red', 'green'])

>>> from bokeh.io import output_file, show

>>> x = [1, 2, 3, 4, 5] #Step 1

>>> p3.circle('mpg', 'cyl', source=cds_df,

color=dict(field='origin',
Grid Layout
>>> y = [6, 7, 2, 4, 5]
transform=color_mapper),

>>> p = figure(title="simple line example", #Step 2


legend='Origin') >>> from bokeh.layouts import gridplot

x_axis_label='x',
>>> row1 = [p1,p2]

y_axis_label='y')
>>> row2 = [p3]

>>> p.line(x, y, legend="Temp.", line_width=2) #Step 3

4 Output & Export


>>> layout = gridplot([[p1,p2],[p3]])
>>> output_file("lines.html") #Step 4

>>> show(p) #Step 5


Tabbed Layout
Notebook
1 Data Also see Lists, NumPy & Pandas
>>> from bokeh.io import output_notebook, show

>>>
>>>
>>>
from bokeh.models.widgets import Panel, Tabs

tab1 = Panel(child=p1, title="tab1")

tab2 = Panel(child=p2, title="tab2")

>>> output_notebook() >>> layout = Tabs(tabs=[tab1, tab2])


Under the hood, your data is converted to Column Data Sources.

You can also do this manually: HTML Linked Plots


>>> import numpy as np

>>> import pandas as pd

>>> df = pd.DataFrame(np.array([[33.9,4,65, 'US'],

Standalone HTML Linked Axes


[32.4, 4, 66, 'Asia'],
>>> from bokeh.embed import file_html
>>> p2.x_range = p1.x_range

[21.4, 4, 109, 'Europe']]),


>>> from bokeh.resources import CDN
>>> p2.y_range = p1.y_range
columns=['mpg','cyl', 'hp', 'origin'],
>>> html = file_html(p, CDN, "my_plot")

index=['Toyota', 'Fiat', 'Volvo'])

Linked Brushing
>>> from bokeh.io import output_file, show
>>> p4 = figure(plot_width = 100, tools='box_select,lasso_select')

>>> from bokeh.models import ColumnDataSource


>>> output_file('my_bar_chart.html', mode='cdn') >>> p4.circle('mpg', 'cyl', source=cds_df)

>>> cds_df = ColumnDataSource(df) >>> p5 = figure(plot_width = 200, tools='box_select,lasso_select')

Components >>> p5.circle('mpg', 'hp', source=cds_df)

>>> from bokeh.embed import components


>>> layout = row(p4,p5)
>>> script, div = components(p)
2 Plotting
PNG
>>> from bokeh.plotting import figure
5 Show or Save Your Plots
>>> p1 = figure(plot_width=300, tools='pan,box_zoom')

>>> from bokeh.io import export_png

>>> p2 = figure(plot_width=300, plot_height=300,


>>> show(p1)

>>> export_png(p, filename="plot.png")


x_range=(0, 8), y_range=(0, 8))
>>> show(layout)

>>> p3 = figure() >>> save(p1)

SVG >>> save(layout)

>>> from bokeh.io import export_svgs

>>> p.output_backend = "svg"

>>> export_svgs(p, filename="plot.svg") Learn Data Skills Online at www.DataCamp.com

You might also like