Ticket #921 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

Scatterplot (Qt) crashes when a 64-bit continuous attribute is assigned as a point colour

Reported by: matija Owned by: Noughmad
Milestone: Future Component: canvas
Severity: minor Keywords:
Cc: miha Blocking:
Blocked By:

Description

The bug can be reproduced as follows: load the heart_disease.tab data into Scatterplot (Qt) and assign "major vessels colored" as Point Color. The following exception occurs:

Unhandled exception of type TypeError occured at 9:25:18:
Traceback:
  File: OWGUI.py, line 1493 in __call__
  Code: self.f(**kwds)
    File: OWScatterPlotQt.py, line 346 in updateGraph
    Code: self.graph.updateData(self.attrX, self.attrY, self.attrColor, self.attrShape, self.attrSize, self.attrLabel)
      File: OWScatterPlotGraphQt.py, line 177 in updateData
      Code: colorData = [QColor(*self.contPalette.getRGB(i)) for i in self.noJitteringScaledData[colorIndex]]
        TypeError: arguments did not match any overloaded call: QColor(Qt.GlobalColor): argument 1 has unexpected type 'numpy.float64' QColor(int): argument 1 has unexpected type 'numpy.float64' QColor(QVariant): too many arguments QColor(): too many arguments QColor(int, int, int, int alpha=255): argument 1 has unexpected type 'numpy.float64' QColor(QString): argument 1 has unexpected type 'numpy.float64' QColor(QColor): argument 1 has unexpected type 'numpy.float64'

Change History

comment:1 Changed 3 years ago by Noughmad

  • Status changed from new to accepted

I noticed this before, there are also similar problems with adult_sample.tab and and the 'workclass' attribute. I will try to convert them to integers the same way as Scatterplot used to do.

comment:2 Changed 3 years ago by Noughmad

I debugged the problem, it seems the problem is that I check whether the data is valid after calculating the colors.

comment:3 Changed 3 years ago by Noughmad

  • Status changed from accepted to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.