def add_curves(self, x, ys, addc=True):
""" Add multiple curves with the same x domain. """
if len(ys) > MAX_INSTANCES_DRAWN:
sample_selection = random.Random(self.sample_seed).sample(range(len(ys)), MAX_INSTANCES_DRAWN)
# with random selection also show at most MAX_INSTANCES_DRAW elements from the subset
subset = set(np.where(self.subset_indices)[0])
subset_to_show = subset - set(sample_selection)
subset_additional = MAX_INSTANCES_DRAWN - (len(subset) - len(subset_to_show))
if len(subset_to_show) > subset_additional:
subset_to_show = random.Random(self.sample_seed).sample(subset_to_show, subset_additional)
self.sampled_indices = sorted(sample_selection + list(subset_to_show))
self.sampling = True
else:
self.sampled_indices = list(range(len(ys)))
random.Random(self.sample_seed).shuffle(self.sampled_indices) # for sequential classes#
self.sampled_indices_inverse = {s: i for i, s in enumerate(self.sampled_indices)}
ys = self.data.X[self.sampled_indices][:, self.data_xsind]
self.curves.append((x, ys))
for y in ys:
c = pg.PlotCurveItem(x=x, y=y, pen=self.pen_normal[None])
self.curves_cont.add_curve(c)
self.curves_plotted = self.curves
评论列表
文章目录