def config(): """called from a high level, e.g. rungeneric, to configure the lower level modules via modifying parameter settings. """ # pprldist.plotRLDistr2 needs to be revised regarding run_length based targets if genericsettings.runlength_based_targets in (True, 1): print 'Using bestGECCO2009 based target values: now for each function the target ' + \ 'values differ, but the "level of difficulty" is "the same". ' # pprldmany: if 11 < 3: # not yet functional, captions need to be adjusted and the bug reported by Ilya sorted out pprldmany.target_values = pproc.RunlengthBasedTargetValues(10**np.arange(-0.3, 2.701, 0.1), force_different_targets_factor=1) pprldmany.x_limit = genericsettings.maxevals_fix_display # always fixed # pprldistr: pprldistr.single_target_values = pproc.RunlengthBasedTargetValues(genericsettings.target_runlengths_in_single_rldistr, force_different_targets_factor=10**-0.2) pprldistr.runlen_xlimits_max = genericsettings.maxevals_fix_display / 2 if genericsettings.maxevals_fix_display else None # can be None pprldistr.runlen_xlimits_min = 10**-0.3 # can be None # ppfigdim: ppfigdim.values_of_interest = pproc.RunlengthBasedTargetValues(genericsettings.target_runlengths_in_scaling_figs, # [10**i for i in [2.0, 1.5, 1.0, 0.5, 0.1, -0.3]], # [10**i for i in [1.7, 1, 0.3, -0.3]] force_different_targets_factor=10**-0.2) ppfigdim.xlim_max = genericsettings.maxevals_fix_display if ppfigdim.xlim_max: ppfigdim.styles = [ # sort of rainbow style, most difficult (red) first {'color': 'y', 'marker': '^', 'markeredgecolor': 'k', 'markeredgewidth': 2, 'linewidth': 4}, {'color': 'g', 'marker': '.', 'linewidth': 4}, {'color': 'r', 'marker': 'o', 'markeredgecolor': 'k', 'markeredgewidth': 2, 'linewidth': 4}, {'color': 'm', 'marker': '.', 'linewidth': 4}, {'color': 'c', 'marker': 'v', 'markeredgecolor': 'k', 'markeredgewidth': 2, 'linewidth': 4}, {'color': 'b', 'marker': '.', 'linewidth': 4}, {'color': 'k', 'marker': 'o', 'markeredgecolor': 'k', 'markeredgewidth': 2, 'linewidth': 4}, ] # pptable: pptable.table_caption=pptable.table_caption_rlbased pptable.targetsOfInterest = pproc.RunlengthBasedTargetValues(genericsettings.target_runlengths_in_table, force_different_targets_factor=10**-0.2) else: pass # here the default values of the modules apply # pprlmany.x_limit = ...should depend on noisy/noiseless if 11 < 3: # for testing purpose # TODO: this case needs to be tested yet: the current problem is that no noisy data are in this folder pprldmany.target_values = pproc.RunlengthBasedTargetValues(10**np.arange(1, 4, 0.2), 'RANDOMSEARCH') pprldmany.fontsize = 20.0 # should depend on the number of data lines down to 10.0 ? ppscatter.markersize = 14. ppfig2.linewidth = 4. ppfigs.styles = ppfigs.styles ppfig2.styles = ppfig2.styles
pptables.tables_many_expensive_legend + '}']) else: prepend_to_file(os.path.join(outputdir, 'bbob_pproc_commands.tex'), ['\providecommand{\\bbobpptablesmanylegend}[1]{' + pptables.tables_many_legend + '}']) dictNoi = pproc.dictAlgByNoi(dictAlg) for ng, tmpdictng in dictNoi.iteritems(): dictDim = pproc.dictAlgByDim(tmpdictng) for d, tmpdictdim in dictDim.iteritems(): pptables.main(tmpdictdim, sortedAlgs, outputdir, verbose) print "Comparison tables done." global ftarget # not nice if isFig: plt.rc("axes", labelsize=20, titlesize=24) plt.rc("xtick", labelsize=20) plt.rc("ytick", labelsize=20) plt.rc("font", size=20) plt.rc("legend", fontsize=20) if genericsettings.runlength_based_targets: ftarget = pproc.RunlengthBasedTargetValues([target_runlength]) # TODO: make this more variable but also consistent ppfigs.main(dictAlg, sortedAlgs, ftarget, outputdir, verbose) plt.rcdefaults() print "Scaling figures done." plt.rcdefaults() if __name__ == "__main__": sys.exit(main())
import numpy as np from pdb import set_trace from matplotlib import pyplot as plt try: from matplotlib.transforms import blended_transform_factory as blend except ImportError: # compatibility matplotlib 0.8 from matplotlib.transforms import blend_xy_sep_transform as blend from bbob_pproc import readalign from bbob_pproc.ppfig import saveFigure from bbob_pproc import toolsdivers from bbob_pproc import pproc dimensions = (2, 3, 5, 10, 20, 40) fixed_targets = pproc.TargetValues(np.logspace(-8, 2, 46)) runlength_based_targets = pproc.RunlengthBasedTargetValues(np.logspace(numpy.log10(0.5), numpy.log10(50), 8)) # runlength_based_targets = pproc.RunlengthBasedTargetValues([0.5, 1, 3, 10, 50]) targets = fixed_targets # default # formattings colors = ('c', 'g', 'b', 'k', 'r', 'm', 'k', 'y', 'k', 'c', 'r', 'm') markers = ('+', 'v', '*', 'o', 's', 'D', 'x') markersize = 14 # modified in config.py linewidth = 3 max_evals_line_length = 9 # length away from the diagonal as a factor, line indicates maximal evaluations for each data offset = 0. #0.02 offset provides a way to move away the box boundaries to display the outer markers fully, clip_on=False is more effective caption_start_fixed = r"""Expected running time (\ERT\ in $\log_{10}$ of number of function evaluations) of \algorithmB\ ($x$-axis) versus \algorithmA\ ($y$-axis) for $NBTARGETS$ target values $\Df \in [NBLOW, NBUP]$ in each dimension on functions #1. """ caption_start_rlbased = r"""Expected running time (\ERT\ in $\log_{10}$ of number of function evaluations)