def METHOD_NAME(datafiles, output_file, sort_by='simulator', annotation=None):
    blocks = [get_io(datafile).read_block() for datafile in datafiles]
    # note: Neo needs a pretty printer that is not tied to IPython
    # for block in blocks:
    #    print(block.describe())
    script_name = blocks[0].annotations['script_name']
    for block in blocks[1:]:
        assert block.annotations['script_name'] == script_name
    fig_settings = {  # pass these in a configuration file?
        'lines.linewidth': 0.5,
        'axes.linewidth': 0.5,
        'axes.labelsize': 'small',
        'legend.fontsize': 'small',
        'font.size': 8,
        'savefig.dpi': 200,
    }
    plt.rcParams.update(fig_settings)
    CM = 1 / 2.54
    plt.figure(1, figsize=(15 * CM * len(blocks), 20 * CM))
    gs = gridspec.GridSpec(4, 2 * len(blocks), hspace=0.25, wspace=0.25)
    sorted_blocks = sort_by_annotation(sort_by, blocks)
    hide_axis_labels = False
    for k, (label, block_list) in enumerate(sorted_blocks.items()):
        segments = {}
        for block in block_list:
            for name in ("exc", "inh"):
                if name in block.name.lower():
                    segments[name] = block.segments[0]
        # Plot membrane potential traces
        plot_vm_traces(plt.subplot(gs[0, 2 * k:2 * k + 2]),
                       segments['exc'], label, hide_axis_labels)
        # Plot spike rasters
        plot_spiketrains(plt.subplot(gs[1, 2 * k:2 * k + 2]),
                         segments['exc'], label, hide_axis_labels)
        # Inter-spike-interval histograms
        # Histograms of coefficients of variation of ISI
        plot_isi_hist(plt.subplot(gs[2, 2 * k]), segments['exc'], 'exc', hide_axis_labels)
        plot_cvisi_hist(plt.subplot(gs[3, 2 * k]), segments['exc'], 'exc', hide_axis_labels)
        hide_axis_labels = True
        plot_isi_hist(plt.subplot(gs[2, 2 * k + 1]), segments['inh'], 'inh', hide_axis_labels)
        plot_cvisi_hist(plt.subplot(gs[3, 2 * k + 1]), segments['inh'], 'inh', hide_axis_labels)
    plt.savefig(output_file)