def generate_sample_plot(self, output_filename, width=5, height=5, title="Sample Data"): """Generates a sample plot of random data""" # Initialize matplotlib plot formatting to sane defaults mainmodel.init_matplotlib_defaults() figure = Figure(figsize=(width, height)) canvas = FigureCanvas(figure) axes = figure.gca() x = np.arange(-10, 10) data = np.sinc(x + random.uniform(-.25, .25)) linestyles = ['_', '-', '--', ':'] colors = ('b', 'g', 'r', 'c', 'm', 'y', 'k') axes.plot(x, data, linestyle=random.choice(linestyles), marker=".", color=random.choice(colors)) axes.set_title(title) axes.grid(True) figure.savefig(output_filename, format='png')
def create_plot(data, title, width, height): """Generates a matplotlib Figure instance of the specified data""" mainmodel.init_matplotlib_defaults() figure = Figure(figsize=(width, height)) canvas = FigureCanvas(figure) axes = figure.gca() if 2 in data.shape: axes.plot(data[0], data[1]) elif data.ndim == 1: axes.plot(data) else: img = axes.imshow(data, cmap=cm.get_cmap('Spectral')) figure.colorbar(img) if len(title) > 20: title = ''.join([title[:10], "...", title[-10:]]) axes.set_title(title) axes.grid(True) return figure
def init_plot_defaults(self): """Sets some basic matplotlib configuration parameters to sane defaults.""" mainmodel.init_matplotlib_defaults()