def gp_panel(version, skip):
scale = { <EOL>'<STR_LIT>': <NUM_LIT>, '<STR_LIT>': <NUM_LIT:1.0>, '<STR_LIT>': <NUM_LIT>,<EOL>'<STR_LIT>': <NUM_LIT>, '<STR_LIT>': <NUM_LIT><EOL>} if version == '<STR_LIT>' else {<EOL>'<STR_LIT>': <NUM_LIT>, '<STR_LIT>': <NUM_LIT>,<EOL>'<STR_LIT>': <NUM_LIT>, '<STR_LIT>': <NUM_LIT>,<EOL>'<STR_LIT>': <NUM_LIT><EOL>}<EOL>inDir, outDir = getWorkDirs()<EOL>inDir = os.path.join(inDir, version)<EOL>data = {}<EOL>vacRhoTitle = '<STR_LIT>'<EOL>for infile in os.listdir(inDir):<EOL><INDENT>if infile == "<STR_LIT>": continue<EOL>if infile == '<STR_LIT>': continue<EOL>energy = re.compile('<STR_LIT>').search(infile).group()<EOL>if skip is not None and energy == skip: continue<EOL>data_type = re.sub('<STR_LIT>' % energy, '<STR_LIT>', infile)<EOL>file_url = os.path.join(inDir, infile)<EOL>data_import = np.loadtxt(open(file_url, '<STR_LIT:rb>'))<EOL>if data_type != '<STR_LIT:data>' and (<EOL>(version == '<STR_LIT>' and energy != '<STR_LIT>') or version == '<STR_LIT>'<EOL>):<EOL><INDENT>data_import[:,(<NUM_LIT:1>,<NUM_LIT:3>,<NUM_LIT:4>)] /= scale[energy]<EOL><DEDENT>if data_type == '<STR_LIT>': data_import[:,<NUM_LIT:2>:] = <NUM_LIT:0.><EOL>elif fnmatch(data_type, '<STR_LIT>') or data_type == '<STR_LIT>':<EOL><INDENT>data_import = data_import[data_import[:,<NUM_LIT:0>] < <NUM_LIT>]if energy == '<STR_LIT>' and data_type == '<STR_LIT>'else data_import<EOL>data_import[:,(<NUM_LIT:2>,<NUM_LIT:3>)] = <NUM_LIT:0.><EOL><DEDENT>key = getEnergy4Key(energy)<EOL>if key not in data: data[key] = {}<EOL>data_type_mod = data_type<EOL>if data_type_mod == '<STR_LIT>': data_type_mod = '<STR_LIT>'<EOL>elif data_type_mod == '<STR_LIT>': data_type_mod = '<STR_LIT>'<EOL>elif data_type_mod == '<STR_LIT>': data_type_mod = '<STR_LIT>'<EOL>elif data_type_mod == '<STR_LIT>': data_type_mod = '<STR_LIT>'<EOL>elif data_type_mod == '<STR_LIT>': data_type_mod = vacRhoTitle<EOL>data[key][data_type_mod] = data_import<EOL><DEDENT>plot_order = ['<STR_LIT>', vacRhoTitle, '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT:data>']<EOL>plot_opts = {<EOL>vacRhoTitle: '<STR_LIT>' % default_colors[<NUM_LIT:6>],<EOL>'<STR_LIT>': '<STR_LIT>' % default_colors[<NUM_LIT:1>],<EOL>'<STR_LIT>': '<STR_LIT>' % default_colors[<NUM_LIT:2>],<EOL>'<STR_LIT>': '<STR_LIT>' % default_colors[<NUM_LIT:16>],<EOL>'<STR_LIT>': '<STR_LIT>' % default_colors[<NUM_LIT:8>],<EOL>'<STR_LIT:data>': '<STR_LIT>' % default_colors[<NUM_LIT:0>]<EOL>}<EOL>panel2D_versions = (version == '<STR_LIT>' or version == '<STR_LIT>')<EOL>make_panel(<EOL>dpt_dict = OrderedDict(<EOL>('<STR_LIT:U+0020>'.join([k, '<STR_LIT>' % (<EOL>'<STR_LIT>'<EOL>if k == '<STR_LIT>' and (<EOL>version == '<STR_LIT>' or version == '<STR_LIT>' or<EOL>version == '<STR_LIT>'<EOL>) else '<STR_LIT>'<EOL>)]), [<EOL>[ data[k][dt] for dt in plot_order if dt in data[k] ],<EOL>[ plot_opts[dt] for dt in plot_order if dt in data[k] ],<EOL>[ dt for dt in plot_order if dt in data[k] ]<EOL>]) for k in sorted(data, key=float)<EOL>),<EOL>name = os.path.join(<EOL>outDir, '<STR_LIT>' % (version, '<STR_LIT>'+skip if skip is not None else '<STR_LIT>')<EOL>),<EOL>ylabel = '<STR_LIT>',<EOL>xlabel = '<STR_LIT>',<EOL>ylog = True, xr = [<NUM_LIT>, <NUM_LIT>], yr = [<NUM_LIT>, <NUM_LIT:0.5>],<EOL>arrow_length = <NUM_LIT>, arrow_bar = <NUM_LIT>,<EOL>gpcalls = [<EOL>'<STR_LIT>',<EOL>'<STR_LIT>'<EOL>],<EOL>layout = '<STR_LIT>' if panel2D_versions else ('<STR_LIT>' % len(data)),<EOL>key = ['<STR_LIT>', '<STR_LIT>'],<EOL>key_subplot_id = <NUM_LIT:5> if version != '<STR_LIT>' else <NUM_LIT:0>,<EOL>size = '<STR_LIT>' if version != '<STR_LIT>' else '<STR_LIT>'<EOL>)<EOL>return '<STR_LIT>'<EOL>
example for a panel plot using QM12 data (see gp_xfac)

    .. image:: pics/panelQM12.png
       :width: 700 px

    :param version: plot version / input subdir name
    :type version: str