def plot_greyscale_boxplot(graph_image, description, sample_type, sample_df, colors, y_limit, min_length, max_length, plot_mean):
    pyplot.rc('font',**{'family':'sans-serif','sans-serif':[JOURNAL_FONT]})

    for dpi in JOURNAL_GRAPH_DPIS:
        figure = Figure(dpi=dpi)
        figure.patch.set_facecolor('white')
        ax = figure.add_subplot(1, 1, 1)
    
        for (condition, df) in sample_df.groupby(CONDITION):
            numeric_columns = df.columns - GROUP_BY_COLUMNS
            numeric_df = df[numeric_columns]
    
            # Remove 0 length from boxplot - it will use axis 1... for elements 0... 
            boxplot_df = numeric_df[numeric_df.columns[1:]]
    
            data_lists = []
            for column in boxplot_df:
                data_lists.append(boxplot_df[column])
    
            if plot_mean:
                lines = ax.plot(numeric_df.mean(axis=0), linestyle='dashed', zorder=-1)
                pyplot.setp(lines, color=colors[condition])
                
            r = ax.boxplot(data_lists, patch_artist=True)
            pyplot.setp(r.values(), color=colors[condition], lw=1)
            pyplot.setp(r['boxes'], facecolor='white')
    
            patches = []
            labels = []
            for name in ["WT", "pin/pin"]:
                color = colors[name]
                labels.append(name)
                patches.append(Rectangle((0, 0), 1, 1, fc=color))
            
            ax.legend(patches, labels, loc=2)
    
        # Only show range we're interested in
        # Use .5 to get a bit of spacing, & don't show numbers either side
        ax.set_xlim(min_length - .5, max_length + .5) 
        ax.set_ylim(0, y_limit)
        ax.set_xlabel("Read length", weight='bold', size=14)
        ax.set_ylabel("Percentage of %s" % description, weight='bold', size=14)
        ax.set_title(sample_type, weight='bold', size=18)
    
        canvas = FigureCanvasAgg(figure)
        canvas.print_tif(graph_image + '_%s_dpi.tiff' % dpi)
        canvas.print_png(graph_image + '_%d_dpi.png' % dpi)