diff options
author | sotech117 <michael_foiani@brown.edu> | 2025-07-31 17:27:24 -0400 |
---|---|---|
committer | sotech117 <michael_foiani@brown.edu> | 2025-07-31 17:27:24 -0400 |
commit | 5bf22fc7e3c392c8bd44315ca2d06d7dca7d084e (patch) | |
tree | 8dacb0f195df1c0788d36dd0064f6bbaa3143ede /venv/lib/python3.8/site-packages/plotly/callbacks.py | |
parent | b832d364da8c2efe09e3f75828caf73c50d01ce3 (diff) |
add code for analysis of data
Diffstat (limited to 'venv/lib/python3.8/site-packages/plotly/callbacks.py')
-rw-r--r-- | venv/lib/python3.8/site-packages/plotly/callbacks.py | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/venv/lib/python3.8/site-packages/plotly/callbacks.py b/venv/lib/python3.8/site-packages/plotly/callbacks.py new file mode 100644 index 0000000..4e2f9e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/callbacks.py @@ -0,0 +1,294 @@ +from plotly.utils import _list_repr_elided + + +class InputDeviceState: + def __init__( + self, ctrl=None, alt=None, shift=None, meta=None, button=None, buttons=None, **_ + ): + self._ctrl = ctrl + self._alt = alt + self._meta = meta + self._shift = shift + self._button = button + self._buttons = buttons + + def __repr__(self): + return """\ +InputDeviceState( + ctrl={ctrl}, + alt={alt}, + shift={shift}, + meta={meta}, + button={button}, + buttons={buttons})""".format( + ctrl=repr(self.ctrl), + alt=repr(self.alt), + meta=repr(self.meta), + shift=repr(self.shift), + button=repr(self.button), + buttons=repr(self.buttons), + ) + + @property + def alt(self): + """ + Whether alt key pressed + + Returns + ------- + bool + """ + return self._alt + + @property + def ctrl(self): + """ + Whether ctrl key pressed + + Returns + ------- + bool + """ + return self._ctrl + + @property + def shift(self): + """ + Whether shift key pressed + + Returns + ------- + bool + """ + return self._shift + + @property + def meta(self): + """ + Whether meta key pressed + + Returns + ------- + bool + """ + return self._meta + + @property + def button(self): + """ + Integer code for the button that was pressed on the mouse to trigger + the event + + - 0: Main button pressed, usually the left button or the + un-initialized state + - 1: Auxiliary button pressed, usually the wheel button or the middle + button (if present) + - 2: Secondary button pressed, usually the right button + - 3: Fourth button, typically the Browser Back button + - 4: Fifth button, typically the Browser Forward button + + Returns + ------- + int + """ + return self._button + + @property + def buttons(self): + """ + Integer code for which combination of buttons are pressed on the + mouse when the event is triggered. + + - 0: No button or un-initialized + - 1: Primary button (usually left) + - 2: Secondary button (usually right) + - 4: Auxilary button (usually middle or mouse wheel button) + - 8: 4th button (typically the "Browser Back" button) + - 16: 5th button (typically the "Browser Forward" button) + + Combinations of buttons are represented as the decimal form of the + bitmask of the values above. + + For example, pressing both the primary (1) and auxilary (4) buttons + will result in a code of 5 + + Returns + ------- + int + """ + return self._buttons + + +class Points: + def __init__(self, point_inds=[], xs=[], ys=[], trace_name=None, trace_index=None): + self._point_inds = point_inds + self._xs = xs + self._ys = ys + self._trace_name = trace_name + self._trace_index = trace_index + + def __repr__(self): + return """\ +Points(point_inds={point_inds}, + xs={xs}, + ys={ys}, + trace_name={trace_name}, + trace_index={trace_index})""".format( + point_inds=_list_repr_elided( + self.point_inds, indent=len("Points(point_inds=") + ), + xs=_list_repr_elided(self.xs, indent=len(" xs=")), + ys=_list_repr_elided(self.ys, indent=len(" ys=")), + trace_name=repr(self.trace_name), + trace_index=repr(self.trace_index), + ) + + @property + def point_inds(self): + """ + List of selected indexes into the trace's points + + Returns + ------- + list[int] + """ + return self._point_inds + + @property + def xs(self): + """ + List of x-coordinates of selected points + + Returns + ------- + list[float] + """ + return self._xs + + @property + def ys(self): + """ + List of y-coordinates of selected points + + Returns + ------- + list[float] + """ + return self._ys + + @property + def trace_name(self): + """ + Name of the trace + + Returns + ------- + str + """ + return self._trace_name + + @property + def trace_index(self): + """ + Index of the trace in the figure + + Returns + ------- + int + """ + return self._trace_index + + +class BoxSelector: + def __init__(self, xrange=None, yrange=None, **_): + self._type = "box" + self._xrange = xrange + self._yrange = yrange + + def __repr__(self): + return """\ +BoxSelector(xrange={xrange}, + yrange={yrange})""".format(xrange=self.xrange, yrange=self.yrange) + + @property + def type(self): + """ + The selector's type + + Returns + ------- + str + """ + return self._type + + @property + def xrange(self): + """ + x-axis range extents of the box selection + + Returns + ------- + (float, float) + """ + return self._xrange + + @property + def yrange(self): + """ + y-axis range extents of the box selection + + Returns + ------- + (float, float) + """ + return self._yrange + + +class LassoSelector: + def __init__(self, xs=None, ys=None, **_): + self._type = "lasso" + self._xs = xs + self._ys = ys + + def __repr__(self): + return """\ +LassoSelector(xs={xs}, + ys={ys})""".format( + xs=_list_repr_elided(self.xs, indent=len("LassoSelector(xs=")), + ys=_list_repr_elided(self.ys, indent=len(" ys=")), + ) + + @property + def type(self): + """ + The selector's type + + Returns + ------- + str + """ + return self._type + + @property + def xs(self): + """ + list of x-axis coordinates of each point in the lasso selection + boundary + + Returns + ------- + list[float] + """ + return self._xs + + @property + def ys(self): + """ + list of y-axis coordinates of each point in the lasso selection + boundary + + Returns + ------- + list[float] + """ + return self._ys |