Skip to content

Commit 0a7831f

Browse files
alemikhovjonasvdd
authored andcommitted
[issue-307] add 2 extra (on left and right) dots out of zommed box
1 parent d6373f4 commit 0a7831f

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

plotly_resampler/aggregation/plotly_aggregator_parser.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ def get_start_end_indices(hf_trace_data, axis_type, start, end) -> Tuple[int, in
9797
# Search the index-positions
9898
start_idx = bisect.bisect_left(hf_trace_data["x"], start)
9999
end_idx = bisect.bisect_right(hf_trace_data["x"], end)
100+
start_idx = max(0, start_idx - 1)
101+
end_idx = min(end_idx + 1, len(hf_trace_data["x"]))
100102
return start_idx, end_idx
101103

102104
@staticmethod

tests/test_figure_resampler.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ def test_log_axis():
284284
assert len(out) == 2
285285
assert (x1 - x0) < 10
286286
assert len(out[1]["x"]) == 1000
287-
assert out[-1]["x"][0] >= 100
287+
assert out[-1]["x"][0] >= 99
288288
assert out[-1]["x"][-1] <= 50_000
289289

290290

@@ -1061,8 +1061,8 @@ def test_time_tz_slicing():
10611061
start_idx, end_idx = PlotlyAggregatorParser.get_start_end_indices(
10621062
hf_data_dict, hf_data_dict["axis_type"], t_start, t_stop
10631063
)
1064-
assert (s.index[start_idx] - t_start) <= pd.Timedelta(seconds=1)
1065-
assert (s.index[min(end_idx, n - 1)] - t_stop) <= pd.Timedelta(seconds=1)
1064+
assert (s.index[start_idx] - t_start) <= pd.Timedelta(seconds=2)
1065+
assert (s.index[min(end_idx, n - 1)] - t_stop) <= pd.Timedelta(seconds=2)
10661066

10671067

10681068
def test_time_tz_slicing_different_timestamp():
@@ -1147,10 +1147,10 @@ def test_different_tz_no_tz_series_slicing():
11471147
)
11481148
assert (
11491149
s.tz_localize(None).index[start_idx].tz_localize(t_start.tz) - t_start
1150-
) <= pd.Timedelta(seconds=1)
1150+
) <= pd.Timedelta(seconds=2)
11511151
assert (
11521152
s.tz_localize(None).index[end_idx].tz_localize(t_stop.tz) - t_stop
1153-
) <= pd.Timedelta(seconds=1)
1153+
) <= pd.Timedelta(seconds=2)
11541154

11551155

11561156
def test_multiple_tz_no_tz_series_slicing():

tests/test_figurewidget_resampler.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,7 @@ def test_hf_data_property_reload_data():
813813
assert np.all(fwr.hf_data[0]["y"] == new_y)
814814

815815
fwr.reload_data()
816-
assert (fwr.data[0]["x"][0] >= 10_000) & (fwr.data[0]["x"][-1] <= 20_000)
816+
assert (fwr.data[0]["x"][0] >= 9_999) & (fwr.data[0]["x"][-1] <= 20_001)
817817
assert np.all(fwr.data[0]["y"] == new_y[fwr.data[0]["x"]])
818818
assert (fwr.layout["yaxis"].range[0] == -20) & (fwr.layout["yaxis"].range[-1] == 3)
819819

@@ -888,8 +888,8 @@ def test_hf_data_property_subplots_reload_data():
888888
assert np.all(fwr.hf_data[0]["y"] == new_y)
889889

890890
fwr.reload_data()
891-
assert (fwr.data[0]["x"][0] >= 10_000) & (fwr.data[0]["x"][-1] <= 20_000)
892-
assert (fwr.data[1]["x"][0] >= 40_000) & (fwr.data[1]["x"][-1] <= 60_000)
891+
assert (fwr.data[0]["x"][0] >= 9_999) & (fwr.data[0]["x"][-1] <= 20_001)
892+
assert (fwr.data[1]["x"][0] >= 39_999) & (fwr.data[1]["x"][-1] <= 60_001)
893893
assert np.all(fwr.data[0]["y"] == new_y[fwr.data[0]["x"]])
894894
assert np.all(fwr.data[1]["y"] == new_y[fwr.data[1]["x"]])
895895
assert (fwr.layout["yaxis"].range[0] == -20) & (fwr.layout["yaxis"].range[-1] == 3)
@@ -919,8 +919,8 @@ def test_hf_data_subplots_non_shared_xaxes():
919919
assert 0 <= x_0[0] <= (n / 1000)
920920
assert (n - 1000) <= x_0[-1] <= n - 1
921921
x_1 = fwr.data[1]["x"]
922-
assert 40_000 <= x_1[0] <= 40_000 + (20_000 / 1000)
923-
assert (60_000 - 20_000 / 1_000) <= x_1[-1] <= 60_000
922+
assert 39_999 <= x_1[0] <= 40_001 + (20_000 / 1000)
923+
assert (60_000 - 20_000 / 1_000) <= x_1[-1] <= 60_001
924924

925925

926926
def test_hf_data_subplots_non_shared_xaxes_row_col_none():
@@ -944,8 +944,8 @@ def test_hf_data_subplots_non_shared_xaxes_row_col_none():
944944
assert 0 <= x_0[0] <= (n / 1000)
945945
assert (n - 1000) <= x_0[-1] <= n - 1
946946
x_1 = fwr.data[1]["x"]
947-
assert 40_000 <= x_1[0] <= 40_000 + (20_000 / 1000)
948-
assert (60_000 - 20_000 / 1_000) <= x_1[-1] <= 60_000
947+
assert 39_999 <= x_1[0] <= 40_001 + (20_000 / 1000)
948+
assert (60_000 - 20_000 / 1_000) <= x_1[-1] <= 60_001
949949

950950

951951
def test_updates_two_traces():

0 commit comments

Comments
 (0)