def METHOD_NAME(report_file):
    # TODO: Try KDE plots.
    expected_widths = {'HCV': 9600,
                       'MidHCV': 1200,
                       'NS5a': 1200,
                       'V3LOOP': 312}
    group_size = 1000
    alpha = 100/group_size
    reader = DictReader(report_file)
    logger.info('Displaying.')
    rows = list(reader)
    for row in rows:
        row['project'] = row['sample'].split('_')[0].split('-')[-1]
        row['reads'] = int(row['reads'])
        row['coverage'] = float(row['coverage'])
        expected_width = expected_widths.get(row['project'], 1000000)
        row['expected_depth'] = row['reads'] / expected_width
    rows = [row
            for row in rows
            if row['is_good'] == 'True' and
            row['project'] in ('HCV', 'MidHCV', 'V3LOOP')]
    shuffle(rows)
    rows.sort(key=itemgetter('project'), reverse=True)
    plt.subplot(211)
    for project, group_rows in groupby(rows, itemgetter('project')):
        group_rows = list(group_rows)[:group_size]
        read_counts = [row['reads'] for row in group_rows]
        coverage = [row['coverage'] for row in group_rows]
        plt.plot(read_counts, coverage, 'o', label=project, alpha=alpha)
    plt.xlim([-50_000, 1_500_000])
    plt.ylim([-10_000, 100_000])
    plt.title('Coverage vs. Read Count')
    plt.xlabel('read count')
    plt.ylabel('median coverage')
    add_legend()
    plt.subplot(212)
    for project, group_rows in groupby(rows, itemgetter('project')):
        group_rows = list(group_rows)[:group_size]
        expected_depth = [row['expected_depth'] for row in group_rows]
        coverage = [row['coverage'] for row in group_rows]
        plt.plot(expected_depth, coverage, 'o', label=project, alpha=alpha)
    plt.xlim([-10, 300])
    plt.ylim([-10_000, 100_000])
    plt.title('Coverage vs. Expected Depth')
    plt.xlabel('read count / expected width')
    plt.ylabel('median coverage')
    add_legend()
    plt.tight_layout()
    plt.show()