import pandas as pd import numpy as np import holoviews as hv from holoviews import opts hv.extension('bokeh', 'matplotlib') %%opts Curve [height=200 width=900 xaxis=None tools=['hover']] %%opts Curve (color='red' line_width=1.5) %%opts Spikes [height=150 width=900 yaxis=None] (color='grey' line_width=0.25) spike_train = pd.read_csv('../assets/spike_train.csv.gz') curve = hv.Curve( spike_train, 'milliseconds', vdims='Hertz') spikes = hv.Spikes(spike_train, 'milliseconds', vdims=[]) layout = (curve+spikes).cols(1) layout %opts HeatMap (cmap='Summer') [colorbar=True, toolbar='above'] data = [(chr(65+i), chr(97+j), i*j) for i in range(5) for j in range(5) if i!=j] hv.HeatMap(data).sort() %output backend='matplotlib', fig='svg' lin = np.linspace(0, np.pi*2, 200) def lissajous(t, a, b, delta): return (np.sin(a * t + delta), np.sin(b * t), t) path = hv.Path([lissajous(lin, 3, 5, np.pi/2)]) path.opts(opts.Path(linewidth=2, color='red', linestyle='dotted')) %output backend='bokeh' %%output backend='matplotlib' fig='svg' size=50 %%opts Path (linewidth=3 color='blue') lin = np.linspace(0, np.pi*2, 200) def lissajous(t, a, b, delta): return (np.sin(a * t + delta), np.sin(b * t), t) hv.Path([lissajous(lin, 3, 5, np.pi/2)])