orange3
orange3 copied to clipboard
Widgets fail with a dataset with hidden variables on the input.
Description
Some widgets fail when a dataset with hidden variables at the input. It can be reproduced with data from the Image Embedding widget. Currently, the following widgets are discovered to fail:
-
[ ] Scatter Plot fail when I use Find informative projections, including hidden variables. It fails when I click on a combination that includes the hidden variable. See screenshot. My suggestion is to exclude hidden variables from the informative projections search.

-
[x] Group By fail immediately when I connect the data with hidden variables.
Traceback (most recent call last): File "/Users/primoz/python-projects/orange-canvas-core/orangecanvas/scheme/signalmanager.py", line 1047, in __process_next if self.__process_next_helper(use_max_active=True): File "/Users/primoz/python-projects/orange-canvas-core/orangecanvas/scheme/signalmanager.py", line 1085, in __process_next_helper self.process_node(selected_node) File "/Users/primoz/python-projects/orange-canvas-core/orangecanvas/scheme/signalmanager.py", line 713, in process_node self.send_to_node(node, signals_in) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/site-packages/orangewidget/workflow/widgetsscheme.py", line 806, in send_to_node self.process_signals_for_widget(node, widget, signals) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/site-packages/orangewidget/workflow/widgetsscheme.py", line 820, in process_signals_for_widget process_signals_for_widget(widget, signals, workflow) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/functools.py", line 889, in wrapper return dispatch(args[0].__class__)(*args, **kw) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/site-packages/orangewidget/workflow/widgetsscheme.py", line 921, in process_signals_for_widget process_signal_input(input_meta, widget, signal, workflow) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/functools.py", line 889, in wrapper return dispatch(args[0].__class__)(*args, **kw) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/site-packages/orangewidget/workflow/widgetsscheme.py", line 884, in process_signal_input_default notify_input_helper( File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/functools.py", line 889, in wrapper return dispatch(args[0].__class__)(*args, **kw) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/site-packages/orangewidget/utils/signals.py", line 692, in set_input_helper handler(*args) File "/Users/primoz/miniconda3/envs/orange3/lib/python3.10/site-packages/orangewidget/utils/signals.py", line 205, in summarize_wrapper method(widget, value) File "/Users/primoz/python-projects/orange3/Orange/widgets/data/owgroupby.py", line 493, in set_data self._set_gb_selection() File "/Users/primoz/python-projects/orange3/Orange/widgets/data/owgroupby.py", line 534, in _set_gb_selection index = values.index(val) ValueError: ContinuousVariable(name='n0', number_of_decimals=3) is not in list -
[X] We should also test other widgets using hidden variables - it seems to be OK
AttributeList issue - @janezd's comment:
- [ ] Scatter Plot - Fails when hidden features are on input. Fixed in #6531
- [ ] Siewe - Do not fail, but the plot is present. It would be better without a plot since the plot does show input features.
- [X] Aggregate Columns
Also check widgets that accept AttributeList.