<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_common_plot_features(plot, steps):
 """Add plot features common to all plots, such as bcbio step information. """

    _setup_matplotlib()
    plot.yaxis.set_tick_params(labelright=True)
    plot.set_xlabel('')

    ymax = plot.get_ylim()[1]
    ticks = {}
    for tstamp, step in steps.items():
        if step == 'finished':
            continue
        plot.vlines(tstamp, 0, ymax, linestyles='dashed')
        tstamp = mpl.dates.num2epoch(mpl.dates.date2num(tstamp))
        ticks[tstamp] = step
    tick_kvs = sorted(ticks.items())
    top_axis = plot.twiny()
    top_axis.set_xlim(*plot.get_xlim())
    top_axis.set_xticks([k for k, v in tick_kvs])
    top_axis.set_xticklabels([v for k, v in tick_kvs],
                             rotation=45, ha='left', size=pylab.rcParams['font.size'])

    plot.set_ylim(0)

    return plot