Most examples work across multiple plotting backends, this example is also available for:

In [ ]:
import pandas as pd
import holoviews as hv
from holoviews import dim, opts
hv.extension('bokeh')

Declaring data

In [ ]:
macro_df = pd.read_csv('http://assets.holoviews.org/macro.csv', '\t')
key_dimensions   = [('year', 'Year'), ('country', 'Country')]
value_dimensions = [('unem', 'Unemployment'), ('capmob', 'Capital Mobility'),
                    ('gdp', 'GDP Growth'), ('trade', 'Trade')]
macro = hv.Table(macro_df, key_dimensions, value_dimensions)

Plot

In [ ]:
gdp_unem_scatter = macro.to.scatter('Year', ['GDP Growth', 'Unemployment'])
overlay = gdp_unem_scatter.overlay('Country')

overlay.opts(
    opts.Scatter(color=hv.Cycle('Category20'), line_color='k', size=dim('Unemployment')*1.5,
                 show_grid=True, width=700, height=400),
    opts.NdOverlay(legend_position='left', show_frame=False))