Example #1
0
 def test_rasterize_ndoverlay(self):
     ds = Dataset([(0.2, 0.3, 0), (0.4, 0.7, 1), (0, 0.99, 2)], kdims=['x', 'y', 'z'])
     ndoverlay = ds.to(Points, ['x', 'y'], [], 'z').overlay()
     expected = Image(([0.25, 0.75], [0.25, 0.75], [[1, 0], [2, 0]]),
                      vdims=['Count'])
     img = rasterize(ndoverlay, dynamic=False, x_range=(0, 1), y_range=(0, 1),
                     width=2, height=2)
     self.assertEqual(img, expected)
Example #2
0
 def test_rasterize_ndoverlay(self):
     ds = Dataset([(0.2, 0.3, 0), (0.4, 0.7, 1), (0, 0.99, 2)], kdims=['x', 'y', 'z'])
     ndoverlay = ds.to(Points, ['x', 'y'], [], 'z').overlay()
     expected = Image(([0.25, 0.75], [0.25, 0.75], [[1, 0], [2, 0]]),
                      vdims=['Count'])
     img = rasterize(ndoverlay, dynamic=False, x_range=(0, 1), y_range=(0, 1),
                     width=2, height=2)
     self.assertEqual(img, expected)
Example #3
0
def visits_plot(dsets_visits, filters_to_metrics, summarized_visits=None):

    if not summarized_visits:
        pass

    plot = None
    dfc = None
    for filt, metrics in filters_to_metrics.items():
        for metric in metrics:
            df = dsets_visits[filt][metric].compute()
            # drop inf/nan values
            with pd.option_context('mode.use_inf_as_na', True):
                df = df.dropna(subset = [metric])
            label = '{} - {}'.format(filt, metric)
            df[label] = minmax_scale(df[metric])
            df = df.groupby('visit')
            df = df[label].median().reset_index()
            if dfc is None:
                dfc = df.set_index('visit')
            else:
                dfc = dfc.merge(df.set_index('visit'), on='visit',
                        how='outer', sort=True)

    dfc = dfc.stack(dropna=False, level=-1).reset_index()
    dfc = dfc.rename(columns={'level_1':'filters', 0:'median'})
    dfc['visit'] = dfc['visit'].astype(str)
    ds = hv.Dataset(dfc, kdims=['visit','filters'], vdims=['median'])

    plot = ds.to(hv.Curve, 'visit', 'median').overlay('filters')
    plot = plot.opts(hv.opts.Curve(tools=['hover']))

    plot = plot.redim(y=hv.Dimension('median', range=(-1,1)))

    # Now we rename the axis
    xlabel = 'visit'
    ylabel = 'normalized median'

    grid_style = {'grid_line_color': 'white', 'grid_line_alpha': 0.2}
#
#    return plot.options(responsive=True, height=200, show_grid=True,
#                        xlabel=xlabel, ylabel=ylabel,
#                        xrotation=45, bgcolor="black", gridstyle=grid_style)
    return plot.opts(show_legend=False, show_grid=True,
                     gridstyle=grid_style,
                     xlabel=xlabel, ylabel=ylabel,
                     responsive=True, aspect=5,
                     bgcolor='black', xrotation=45)