def plot(self, data, notebook=False, show=True, savename=None): fig = pyplot.figure() ncenters = len(self.centers) colorizer = Colorize() colorizer.get = lambda x: self.colors[int(self.predict(x)[0])] # plot time series of each center # TODO move into a time series plotting function in viz.plots for i, center in enumerate(self.centers): ax = pyplot.subplot2grid((ncenters, 3), (i, 0)) ax.plot(center, color=self.colors[i], linewidth=5) fig.add_axes(ax) # make a scatter plot of the data ax2 = pyplot.subplot2grid((ncenters, 3), (0, 1), rowspan=ncenters, colspan=2) ax2, h2 = scatter(data, colormap=colorizer, ax=ax2) fig.add_axes(ax2) plugins.connect(fig, HiddenAxes()) if show and notebook is False: mpld3.show() if savename is not None: mpld3.save_html(fig, savename) elif show is False: return mpld3.fig_to_html(fig)
def plot(self, notebook=False, colormap='polar', scale=1, maptype='points', show=True, savename=None): # make a spatial map based on the scores fig = pyplot.figure(figsize=(12, 5)) ax1 = pyplot.subplot2grid((2, 3), (0, 1), colspan=2, rowspan=2) if maptype is 'points': ax1, h1 = pointmap(self.scores, colormap=colormap, scale=scale, ax=ax1) elif maptype is 'image': ax1, h1 = imagemap(self.scores, colormap=colormap, scale=scale, ax=ax1) fig.add_axes(ax1) # make a scatter plot of sampled scores ax2 = pyplot.subplot2grid((2, 3), (1, 0)) ax2, h2, samples = scatter(self.scores, colormap=colormap, scale=scale, thresh=0.01, nsamples=1000, ax=ax2, store=True) fig.add_axes(ax2) # make the line plot of reconstructions from principal components for the same samples ax3 = pyplot.subplot2grid((2, 3), (0, 0)) ax3, h3, linedata = tsrecon(self.comps, samples, ax=ax3) plugins.connect(fig, LinkedView(h2, h3[0], linedata)) plugins.connect(fig, HiddenAxes()) if show and notebook is False: mpld3.show() if savename is not None: mpld3.save_html(fig, savename) elif show is False: return mpld3.fig_to_html(fig)