Skip to content

Commit ee70a59

Browse files
committed
Fix up a few issues with hover data.
1 parent fb08f01 commit ee70a59

File tree

4 files changed

+13
-11
lines changed

4 files changed

+13
-11
lines changed

glue_plotly/common/image.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -317,20 +317,19 @@ def traces_for_scatter_layer(viewer_state, layer_state, hover_data=None, add_dat
317317
size=scatter_size_info(layer_state, mask),
318318
sizemin=1)
319319

320-
if np.sum(hover_data) == 0:
320+
if hover_data is None or np.sum(hover_data) == 0:
321321
hoverinfo = 'skip'
322322
hovertext = None
323323
else:
324324
hoverinfo = 'text'
325325
hovertext = ['' for _ in range(layer_state.layer.shape[0])]
326-
for i in range(len(layer_state.layer.components)):
327-
if hover_data[i]:
328-
label = layer_state.layer.components[i].label
326+
for component in layer_state.layer.components:
327+
label = component.label
328+
if hover_data.get(label, False):
329329
hover_values = layer_state.layer[label][mask]
330330
for k in range(len(hover_values)):
331331
hovertext[k] = (hovertext[k] + '{}: {} <br>'
332-
.format(layer_state.layer.components[i].label,
333-
hover_values[k]))
332+
.format(label, hover_values[k]))
334333

335334
name = layer_state.layer.label
336335
if add_data_label and not isinstance(layer_state.layer, BaseData):

glue_plotly/common/scatter2d.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,8 +303,9 @@ def trace_data_for_layer(viewer, layer_state, hover_data=None, add_data_label=Tr
303303
else:
304304
hoverinfo = 'text'
305305
hovertext = ["" for _ in range(mask.size)]
306-
for label in layer_state.layer.components:
307-
if hover_data[label]:
306+
for component in layer_state.layer.components:
307+
label = component.label
308+
if hover_data.get(label, False):
308309
hover_values = layer_state.layer[label][mask]
309310
for k in range(len(hover_values)):
310311
hovertext[k] = (hovertext[k] + "{}: {} <br>"

glue_plotly/common/scatter3d.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,9 @@ def traces_for_layer(viewer_state, layer_state, hover_data=None, add_data_label=
128128
else:
129129
hoverinfo = 'text'
130130
hovertext = ["" for _ in range(mask.size)]
131-
for label in layer_state.layer.components:
132-
if hover_data[label]:
131+
for component in layer_state.layer.components:
132+
label = component.label
133+
if hover_data.get(label, False):
133134
hover_values = layer_state.layer[label][mask]
134135
for k in range(len(hover_values)):
135136
hovertext[k] = (hovertext[k] + "{}: {} <br>"

glue_plotly/html_exporters/jupyter/save_hover.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ def _on_data_change(self, *args):
4646
]
4747
current_selections = self.checked_dictionary.get(self.state.data.label,
4848
{component.label: False for component in data_components})
49-
self.component_selected = [i for i in range(len(data_components)) if current_selections[i]]
49+
self.component_selected = [i for i, component in enumerate(data_components)
50+
if current_selections[component.label]]
5051

5152
@observe('component_selected')
5253
def _on_component_selected_changed(self, change):

0 commit comments

Comments
 (0)