import pandas as pd import numpy as np import holoviews as hv hv.extension('bokeh', 'matplotlib') spike_train = pd.read_csv('../assets/spike_train.csv.gz') curve = hv.Curve( spike_train, 'milliseconds', 'Hertz') spikes = hv.Spikes(spike_train, 'milliseconds', []) %%output size=150 %%opts Curve [height=100 width=600 xaxis=None tools=['hover']] %%opts Curve (color='red' line_width=1.5) %%opts Spikes [height=100 width=600 yaxis=None] (color='grey' line_width=0.25) curve = hv.Curve( spike_train, 'milliseconds', vdims='Hertz') spikes = hv.Spikes(spike_train, 'milliseconds', vdims=[]) (curve+spikes).cols(1) %%opts Curve (color='blue') %%opts Curve.Sinusoid (color='red') %%opts Curve.Sinusoid.Squared [interpolation='steps-mid'] (color='green') xs = np.linspace(-np.pi,np.pi,100) curve = hv.Curve((xs, xs/3)) group_curve1 = hv.Curve((xs, np.sin(xs)), group='Sinusoid') group_curve2 = hv.Curve((xs, np.sin(xs+np.pi/4)), group='Sinusoid') label_curve = hv.Curve((xs, np.sin(xs)**2), group='Sinusoid', label='Squared') layout = curve * group_curve1 * group_curve2 * label_curve layout dict_spec = {'Curve': {'style':dict(color='blue')}, 'Curve.Sinusoid': {'style':dict(color='red')}, 'Curve.Sinusoid.Squared ': {'style':dict(color='green'), 'plot':dict(interpolation='steps-mid')}} dcurve = hv.Curve((xs, xs/3)) dgroup_curve1 = hv.Curve((xs, np.sin(xs)), group='Sinusoid') dgroup_curve2 = hv.Curve((xs, np.sin(xs+np.pi/4)), group='Sinusoid') dlabel_curve = hv.Curve((xs, np.sin(xs)**2), group='Sinusoid', label='Squared') dlayout = dcurve * dgroup_curve1 * dgroup_curve2 * dlabel_curve dlayout.opts(dict_spec) hv.Curve((xs, np.sin(xs))).options(width=500, color='red') curve = hv.Curve((xs, np.sin(xs+np.pi/4))) stepped_curve = hv.Curve((xs, np.sin(xs)**2), group='Stepped') area = hv.Area((xs, np.sin(xs)**2)) negative_area = hv.Area((xs, -(np.sin(xs)**2)), group='Negative') options = {'Curve': dict(width=500, color='red'), 'Curve.Stepped': dict(color='green', interpolation='steps-mid'), 'Area.Negative': dict(color='red')} (curve * stepped_curve + area * negative_area).options(options) hv.Overlay([hv.Curve((xs, np.sin(xs)**(i+1))).opts(style=dict(color=color, alpha=(i+1)/3.0)) for (i, color) in enumerate(['red','green','blue'])]) hv.Overlay([hv.Curve((xs, np.sin(xs)**(i+1))).options(color=color, alpha=(i+1)/3.0) for (i, color) in enumerate(['red','green','blue'])]) %%output backend='matplotlib' hv.Curve((xs, np.cos(xs))) %%output size=80 filename='small_curve' label_curve