orange3 icon indicating copy to clipboard operation
orange3 copied to clipboard

Widgets fail with a dataset with hidden variables on the input.

Open PrimozGodec opened this issue 2 years ago • 1 comments

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. Screenshot 2023-03-23 at 16 10 06

  • [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

PrimozGodec avatar Mar 23 '23 15:03 PrimozGodec

Also check widgets that accept AttributeList.

janezd avatar Mar 24 '23 08:03 janezd