Beispiel #1
0
def timeseries(inputs, period=None, extent=None, **kwds):
    '''
    Inputs is a variable or group of variables
    If extent is larger than a single cell, variables
    will be aggregated using their default method
    '''

    inputs = _sanitize_inputs(inputs)

    if period is None:
        period = inputs.source.period
    else:
        period = _sanitize_period(period, inputs.source.period.freq)

    if extent is None:
        extent = inputs.source.extent

    vg_dict = _dd()

    for v in inputs:
        data = _spatial_aggregate(v, period, extent)
        vg_dict.add_item(
            _od(period=period,
                _data=data,
                units=v.units,
                extent=extent,
                method='mean',
                variable=v.name,
                source=v.source))

    layout = _layout.SpatialAggregateLayout(**kwds)

    gridview = layout.generate_view(vg_dict)
    gridview.draw()
    return gridview
Beispiel #2
0
def _plot_spatial_multi(var_group, period, extent=None, **kwds):
    if not extent:
        extent = var_group.source.extent

    vg_dict = _dd()

    for v in var_group:
        aggregator = _sanitize_aggregate_method(v)

        data = aggregator(v, period, extent)

        vg_dict.add_query_item([ROW_FIELD, COLUMN_FIELD],
                               _od(period=period,
                                   _data=data,
                                   units=v.units,
                                   extent=extent,
                                   variable=v.name,
                                   source=v.source))

    layout = _layout.DefaultSpatialGridLayout(ROW_FIELD, COLUMN_FIELD, **kwds)

    gridview = layout.generate_view(vg_dict)
    gridview.draw()
    return gridview