Bokeh Cheat Sheet

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

3 Renderers & Visual Customizations

Python For Data Science


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

>>> p.legend.location = 'bottom_left'

fill_color='white')
Out side 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')
>>> p2.multi_line(pd.DataFrame([[1,2,3],[5,6,7]]),

Plotting With Bokeh 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
Lists, NumPy & Pandas >>> from bokeh.models.widgets import Panel, Tabs

1 Data Also see


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

>>> from bokeh.io import output_notebook, show


>>> 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
PN G 5 Show or Save Your Plots
>>> from bokeh.plotting import figure

>>> 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)

SV G >>> 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy