Skip to content

Commit ef56cfb

Browse files
authored
Merge pull request #1972 from ales-erjavec/fixes/paint-nan-input
[FIX] owpaintdata: Fix an error when the input dataset contains NaN
2 parents e3e3650 + 86cfe97 commit ef56cfb

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

Orange/widgets/data/owpaintdata.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,18 +1226,16 @@ def pen(color):
12261226
self.plot.removeItem(self._scatter_item)
12271227
self._scatter_item = None
12281228

1229-
nclasses = len(self.class_model)
1230-
pens = [pen(self.colors[i]) for i in range(nclasses)]
1231-
12321229
x = self.__buffer[:, 0].copy()
12331230
if self.hasAttr2:
12341231
y = self.__buffer[:, 1].copy()
12351232
else:
12361233
y = np.zeros(self.__buffer.shape[0])
1237-
pen = [pens[ci] for ci in self.__buffer[:, 2].astype(int)]
12381234

1235+
colors = self.colors[self.__buffer[:, 2]]
1236+
pens = [pen(c) for c in colors]
12391237
self._scatter_item = pg.ScatterPlotItem(
1240-
x, y, symbol="+", pen=pen
1238+
x, y, symbol="+", pen=pens
12411239
)
12421240
self.plot.addItem(self._scatter_item)
12431241

Orange/widgets/data/tests/test_owpaintdata.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from Orange.data import Table
88
from Orange.widgets.data import owpaintdata
99
from Orange.widgets.data.owpaintdata import OWPaintData
10-
from Orange.widgets.tests.base import WidgetTest
10+
from Orange.widgets.tests.base import WidgetTest, datasets
1111

1212

1313
class TestOWPaintData(WidgetTest):
@@ -25,6 +25,10 @@ def test_empty_data(self):
2525
self.send_signal("Data", data)
2626
self.send_signal("Data", Table(data.domain))
2727

28+
def test_nan_data(self):
29+
data = datasets.missing_data_2()
30+
self.send_signal("Data", data)
31+
2832
def test_output_shares_internal_buffer(self):
2933
data = Table("iris")[::5]
3034
self.send_signal("Data", data)

0 commit comments

Comments
 (0)