import numpy as np import pandas as pd import holoviews as hv hv.extension('bokeh', 'matplotlib') diseases = pd.read_csv('../assets/diseases.csv.gz') diseases.head() vdims = [('measles', 'Measles Incidence'), ('pertussis', 'Pertussis Incidence')] ds = hv.Dataset(diseases, ['Year', 'State'], vdims) ds = ds.aggregate(function=np.mean) ds %%opts Curve [width=600 height=250] {+framewise} (ds.to(hv.Curve, 'Year', 'measles') + ds.to(hv.Curve, 'Year', 'pertussis')).cols(1) %%opts Bars [width=800 height=400 tools=['hover'] xrotation=90 show_legend=False] states = ['New York', 'New Jersey', 'California', 'Texas'] ds.select(State=states, Year=(1980, 1990)).to(hv.Bars, ['Year', 'State'], 'measles').sort() %%opts Curve [width=200] (color='indianred') grouped = ds.select(State=states, Year=(1930, 2005)).to(hv.Curve, 'Year', 'measles') grouped.grid('State') %%opts Curve [width=600] (color=Cycle(values=['indianred', 'slateblue', 'lightseagreen', 'coral'])) grouped.overlay('State') %%opts Curve [width=600] agg = ds.aggregate('Year', function=np.mean, spreadfn=np.std) (hv.Curve(agg) * hv.ErrorBars(agg,vdims=['measles', 'measles_std']).iloc[::2]).redim.range(measles=(0, None))