Skip to content

Commit 99bb572

Browse files
authored
Merge pull request #2675 from jerneju/mds-sparse
[FIX] MDS: No optimization when subset data
2 parents e798115 + 44d338d commit 99bb572

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

Orange/widgets/unsupervised/owmds.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,6 @@ def set_subset_data(self, subset_data):
350350
# invalidate the pen/brush when the subset is changed
351351
self._subset_mask = None # type: Optional[np.ndarray]
352352
self.controls.graph.alpha_value.setEnabled(subset_data is None)
353-
self._invalidated = True
354353

355354
def _clear(self):
356355
self._similar_pairs = None
@@ -574,10 +573,10 @@ def __invalidate_refresh(self):
574573

575574
def handleNewSignals(self):
576575
if self._invalidated:
576+
self.__draw_similar_pairs = False
577577
self._invalidated = False
578578
self._initialize()
579579
self.start()
580-
self.__draw_similar_pairs = False
581580

582581
if self._subset_mask is None and self.subset_data is not None and \
583582
self.data is not None:
@@ -591,7 +590,7 @@ def _invalidate_output(self):
591590

592591
def _on_connected_changed(self):
593592
self._similar_pairs = None
594-
self._update_plot()
593+
self.connect_pairs()
595594

596595
def _update_plot(self, new=False):
597596
self._clear_plot()
@@ -602,6 +601,8 @@ def _update_plot(self, new=False):
602601
self.graph.new_data(None)
603602

604603
def connect_pairs(self):
604+
if self._curve:
605+
self.graph.plot_widget.removeItem(self._curve)
605606
if not (self.connected_pairs and self.__draw_similar_pairs):
606607
return
607608
emb_x, emb_y = self.graph.get_xy_data_positions(
@@ -637,8 +638,6 @@ def connect_pairs(self):
637638
pairs_mask = ~(np.isclose(x1, x2) & np.isclose(y1, y2))
638639
emb_x_pairs = emb_x_pairs[pairs_mask, :]
639640
emb_y_pairs = emb_y_pairs[pairs_mask, :]
640-
if self._curve:
641-
self.graph.plot_widget.removeItem(self._curve)
642641
self._curve = pg.PlotCurveItem(
643642
emb_x_pairs.ravel(), emb_y_pairs.ravel(),
644643
pen=pg.mkPen(0.8, width=2, cosmetic=True),

0 commit comments

Comments
 (0)