Use step size to determine bar gaps

epoch_indexing_and_dataviz_layer
Tyler Goodlet 2022-12-02 21:05:24 -05:00
parent 58b36db2e5
commit a3844f9922
1 changed files with 14 additions and 2 deletions

View File

@ -99,6 +99,16 @@ class IncrementalFormatter(msgspec.Struct):
_last_vr: tuple[float, float] | None = None
_last_ivdr: tuple[float, float] | None = None
_index_step_size: float = None
@property
def index_step_size(self) -> float:
'''
Readonly value computed on first ``.diff()`` call.
'''
return self._index_step_size
def __repr__(self) -> str:
msg = (
f'{type(self)}: ->\n\n'
@ -172,6 +182,9 @@ class IncrementalFormatter(msgspec.Struct):
# set us in a zero-to-append state
nd_stop = self.xy_nd_stop = src_stop
align_index = array[self.index_field]
self._index_step_size = align_index[-1] - align_index[-2]
# compute the length diffs between the first/last index entry in
# the input data and the last indexes we have on record from the
# last time we updated the curve index.
@ -559,8 +572,7 @@ class OHLCBarsFmtr(IncrementalFormatter):
x, y, c = path_arrays_from_ohlc(
array,
start,
# self.index_field,
bar_gap=w,
bar_gap=w * self.index_step_size,
)
return x, y, c