Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
compositor = Compositor(
"HexTiles", hex_binning, None, 'data', output_type=HexTiles,
transfer_options=True, transfer_parameters=True, backends=['bokeh']
)
Compositor.register(compositor)
class HexTilesPlot(ColorbarPlot):
aggregator = param.Callable(default=np.size, doc="""
Aggregation function used to compute bin values. Any NumPy
reduction is allowed, defaulting to np.size to count the number
of values in each bin.""")
gridsize = param.ClassSelector(default=50, class_=(int, tuple), doc="""
Number of hexagonal bins along x- and y-axes. Defaults to uniform
sampling along both axes when setting and integer but independent
bin sampling can be specified a tuple of integers corresponding to
the number of bins along each axis.""")
min_count = param.Number(default=None, doc="""
The display threshold before a bin is shown, by default bins with
a count of less than 1 are hidden.""")
orientation = param.ObjectSelector(default='pointy', objects=['flat', 'pointy'],
doc="""
The orientation of hexagon bins. By default the pointy side is on top.""")
# Deprecated options
color_index = param.ClassSelector(default=2, class_=(basestring, int),
if 'value' not in params:
params['value'] = params.get('start', self.start)
super(DateSlider, self).__init__(**params)
def _process_property_change(self, msg):
msg = super(_SliderBase, self)._process_property_change(msg)
if 'value' in msg:
msg['value'] = value_as_date(msg['value'])
if 'value_throttled' in msg:
msg['value_throttled'] = value_as_date(msg['value_throttled'])
return msg
class DiscreteSlider(CompositeWidget, _SliderBase):
options = param.ClassSelector(default=[], class_=(dict, list))
value = param.Parameter()
value_throttled = param.Parameter()
formatter = param.String(default='%.3g')
_source_transforms = {'value': None, 'value_throttled': None, 'options': None}
_rename = {'formatter': None}
_supports_embed = True
_text_link = """
var labels = {labels}
target.text = labels[source.value]
return int(round(coord[1])), int(round(coord[0]))
class Image(Dataset, Raster, SheetCoordinateSystem):
"""
Image is the atomic unit as which 2D data is stored, along with
its bounds object. The input data may be a numpy.matrix object or
a two-dimensional numpy array.
Allows slicing operations of the data in sheet coordinates or direct
access to the data, via the .data attribute.
"""
bounds = param.ClassSelector(class_=BoundingRegion, default=BoundingBox(), doc="""
The bounding region in sheet coordinates containing the data.""")
datatype = param.List(default=['image', 'grid', 'xarray', 'cube', 'dataframe', 'dictionary'])
group = param.String(default='Image', constant=True)
kdims = param.List(default=[Dimension('x'), Dimension('y')],
bounds=(2, 2), constant=True, doc="""
The label of the x- and y-dimension of the Raster in form
of a string or dimension object.""")
vdims = param.List(default=[Dimension('z')],
bounds=(1, 1), doc="""
The dimension description of the data held in the matrix.""")
def __init__(self, data, kdims=None, vdims=None, bounds=None, extents=None,
class PointerXY(LinkedStream):
"""
A pointer position along the x- and y-axes in data coordinates which
may numeric or categorical dimensions.
With the appropriate plotting backend, this corresponds to the
position of the mouse/trackpad pointer. If the pointer is outside
the plot bounds, the position values are set to None.
"""
x = param.ClassSelector(class_=(Number, util.basestring, tuple), default=None,
constant=True, doc="""
Pointer position along the x-axis in data coordinates""")
y = param.ClassSelector(class_=(Number, util.basestring, tuple), default=None,
constant=True, doc="""
Pointer position along the y-axis in data coordinates""")
class Draw(PointerXY):
"""
A series of updating x/y-positions when drawing, together with the
current stroke count
"""
stroke_count = param.Integer(default=0, constant=True, doc="""
The current drawing stroke count. Increments every time a new
stroke is started.""")
class SingleTap(PointerXY):
"""
width = param.Integer(default=50, doc="Width of plot")
class BarPlot(ColorbarPlot, LegendPlot):
"""
BarPlot allows generating single- or multi-category
bar Charts, by selecting which key dimensions are
mapped onto separate groups, categories and stacks.
"""
color_index = param.ClassSelector(default=None, class_=(basestring, int),
allow_None=True, doc="""
Index of the dimension from which the color will the drawn""")
group_index = param.ClassSelector(default=1, class_=(basestring, int),
allow_None=True, doc="""
Index of the dimension in the supplied Bars
Element, which will be laid out into groups.""")
stack_index = param.ClassSelector(default=None, class_=(basestring, int),
allow_None=True, doc="""
Index of the dimension in the supplied Bars
Element, which will stacked.""")
style_opts = line_properties + fill_properties + ['width', 'cmap']
_plot_methods = dict(single=('vbar', 'hbar'))
# Declare that y-range should auto-range if not bounded
_y_range_type = DataRange1d
Provides support for drawing polygons and points on top of a map.
"""
tile_url = param.String(default='http://c.tile.openstreetmap.org/{Z}/{X}/{Y}.png',
doc="URL for the tile source", precedence=-1)
extent = param.NumericTuple(default=(np.nan,)*4, doc="""
Initial extent if no data is provided.""", precedence=-1)
path_type = param.ClassSelector(default=Polygons, class_=Path, is_instance=False, doc="""
The element type to draw into.""")
polys = param.ClassSelector(class_=Path, precedence=-1, doc="""
Polygon or Path element to annotate""")
points = param.ClassSelector(class_=Points, precedence=-1, doc="""
Point element to annotate""")
num_points = param.Integer(default=None, doc="""
Maximum number of points to allow drawing (unlimited by default).""")
num_polys = param.Integer(default=None, doc="""
Maximum number of polygons to allow drawing (unlimited by default).""")
node_style = param.Dict(default={'fill_color': 'indianred', 'size': 6}, doc="""
Styling to apply to the node vertices.""")
feature_style = param.Dict(default={'fill_color': 'blue', 'size': 10}, doc="""
Styling to apply to the feature vertices.""")
height = param.Integer(default=500, doc="Height of the plot",
precedence=-1)
on a streams parameter, which can allow dynamic control over the
parameters on the operation.
"""
group = param.String(default='Operation', doc="""
The group string used to identify the output of the
Operation. By default this should match the operation name.""")
dynamic = param.ObjectSelector(default='default',
objects=['default', True, False], doc="""
Whether the operation should be applied dynamically when a
specific frame is requested, specified as a Boolean. If set to
'default' the mode will be determined based on the input type,
i.e. if the data is a DynamicMap it will stay dynamic.""")
input_ranges = param.ClassSelector(default={}, allow_None=True,
class_=(dict, tuple), doc="""
Ranges to be used for input normalization (if applicable) in a
format appropriate for the Normalization.ranges parameter.
By default, no normalization is applied. If key-wise
normalization is required, a 2-tuple may be supplied where the
first component is a Normalization.ranges list and the second
component is Normalization.keys. """)
link_inputs = param.Boolean(default=False, doc="""
If the operation is dynamic, whether or not linked streams
should be transferred from the operation inputs for backends
that support linked streams.
For example if an operation is applied to a DynamicMap with an
RangeXY, this switch determines whether the corresponding
orientation = param.Number(default=0.0,precedence=-1)
size = param.Number(default=1.0, precedence=-1)
scale = param.Number(default=1.0, precedence=-1)
offset = param.Number(default=0.0,precedence=-1)
output_fns = param.HookList(default=[], precedence=-1)
mask_shape = param.ClassSelector(param.Parameterized, default=None, precedence=-1)
def function(self,p):
return p.input()
class BinaryOp(PatternGenerator):
lhs = param.ClassSelector(class_=PatternGenerator,
default=imagen.Constant(), precedence=1)
rhs = param.ClassSelector(class_=PatternGenerator,
default=imagen.Constant(), precedence=1)
x = param.Number(default=0.0,softbounds=(-1.0,1.0),precedence=-1)
y = param.Number(default=0.0,softbounds=(-1.0,1.0),precedence=-1)
orientation = param.Number(default=0.0,precedence=-1)
size = param.Number(default=1.0, precedence=-1)
scale = param.Number(default=1.0, precedence=-1)
offset = param.Number(default=0.0,precedence=-1)
output_fns = param.HookList(default=[], precedence=-1)
mask_shape = param.ClassSelector(param.Parameterized, default=None, precedence=-1)
class Add(BinaryOp):
self.annotator = annotator_type(element, **params)
tables = Overlay([t[0].object for t in self.annotator.editor], group='Annotator').opts(tabs=True)
return (self.annotator.plot + tables).opts(sizing_mode='stretch_width')
class Annotator(PaneBase):
"""
An Annotator allows drawing, editing and annotating a specific
type of element. Each Annotator consists of the `plot` to draw and
edit the element and the `editor`, which contains a list of tables,
which make it possible to annotate each object in the element with
additional properties defined in the `annotations`.
"""
annotations = param.ClassSelector(default=[], class_=(dict, list), doc="""
Annotations to associate with each object.""")
default_opts = param.Dict(default={'responsive': True, 'min_height': 400,
'padding': 0.1}, doc="""
Opts to apply to the element.""")
object = param.ClassSelector(class_=Element, doc="""
The Element to edit and annotate.""")
num_objects = param.Integer(default=None, bounds=(0, None), doc="""
The maximum number of objects to draw.""")
table_transforms = param.HookList(default=[], doc="""
Transform(s) to apply to element when converting data to Table.
The functions should accept the Annotator and the transformed
element as input.""")
self.handles['hover'].renderers = []
self.handles['hover'].renderers.append(renderer)
class ChordPlot(GraphPlot):
labels = param.ClassSelector(class_=(basestring, dim), doc="""
The dimension or dimension value transform used to draw labels from.""")
show_frame = param.Boolean(default=False, doc="""
Whether or not to show a complete frame around the plot.""")
# Deprecated options
label_index = param.ClassSelector(default=None, class_=(basestring, int),
allow_None=True, doc="""
Index of the dimension from which the node labels will be drawn""")
# Map each glyph to a style group
_style_groups = {'scatter': 'node', 'multi_line': 'edge', 'text': 'label'}
style_opts = (GraphPlot.style_opts + ['label_'+p for p in text_properties])
_draw_order = ['multi_line_2', 'graph', 'text_1']
def get_extents(self, element, ranges, range_type='combined'):
"""
A Chord plot is always drawn on a unit circle.
"""
xdim, ydim = element.nodes.kdims[:2]
if range_type not in ('combined', 'data', 'extents'):