def plot(self, ax, ymin, ymax, extra_options): # self.print_values() # scatter plot x_axis = list(range(len(self.values0))) colors0, colors3 = self.generate_colors() ax.scatter(x=x_axis, y=self.values0, c=colors0, zorder=self.values0) ax.scatter(x=x_axis, y=self.values3, c=colors3, zorder=self.values3) ax.grid(b=True, color=PlotConstants.COLOR_SILVER) ax.set_axisbelow(True) if ymax >= self.base_value0: PlotUtils.horizontal_line(ax, self.base_value0, PlotConstants.COLOR_SILVER) RelativeDifferencePlot.set_lim(ax, ymin, ymax) if extra_options['first_row']: ax.title.set_text(self.algorithm) if not extra_options['last_row']: ax.set_xticklabels([]) if extra_options['first_column']: ax.set_ylabel('Total Bits') self.format_x_ticks(ax) else: ax.set_yticklabels([])
def plot(self, ax, ymin, ymax, extra_options={}): # self.print_values() extra_options.update(self.options) self.options = extra_options assert (len(self.values3) > 0) two_sets = len(self.values0) > 0 # scatter plot x_axis = list(range(len(self.values3))) if two_sets: colors0, colors3 = self.generate_colors(False) label0, label3 = self.options.get('labels') ax.scatter(x=x_axis, y=self.values0, c=colors0, zorder=1, marker='x', label=label0, s=36) ax.scatter(x=x_axis, y=self.values3, c=colors3, zorder=2, marker='.', label=label3, s=10) ax.legend(loc='upper right', bbox_to_anchor=(0.5, 0., 0.48, 0.95), fontsize='small', edgecolor='black', scatterpoints=1, handlelength=1) else: y_axis = self.values3 size = len(y_axis) x_axis = list(range(size)) opt = self.options['pdf_instance'].add_data( 'compression', self.algorithm, y_axis) CommonPlot.scatter_plot(ax, x_axis, y_axis, size, self.value3_color, opt) ax.set_xticks(x_axis) ax.grid(b=True, color=PlotConstants.COLOR_SILVER, linestyle='dotted', zorder=0) ax.set_axisbelow(True) if ymax >= 100: PlotUtils.horizontal_line(ax, 100, PlotConstants.COLOR_SILVER) CommonPlot.set_lim(ax, ymin, ymax) self._labels(ax, self.options)