def subplot_label(ax, label, loc='bottom left', props=None, fs=14):
    """
    
    loc: str
        Where to put the label. Options: 'upper left', 'upper right',
        'bottom left', 'bottom right'.
    label: str
        Label to use for subplot, e.g., 'A'.
    props: dict, optional
        matplotlib.patch.Patch properties to change box. If None, 
        use defaults: 
        `dict(boxstyle='round', facecolor='w', alpha=0.75)`
    fs: int, optional
        Fontsize for label.
    
    """

    if props is None:
        props = dict(boxstyle='round', facecolor='w', alpha=0.75)

    if loc == 'upper left':
        ax.text(0.05, 0.92, label, transform=ax.transAxes, fontsize=fs,
                 verticalalignment='top', bbox=props)
    elif loc == 'upper right':
        ax.text(0.92, 0.92, label, transform=ax.transAxes, fontsize=fs,
                 verticalalignment='top', bbox=props)
    elif loc == 'bottom left':
        ax.text(0.05, 0.12, label, transform=ax.transAxes, fontsize=fs,
                 verticalalignment='top', bbox=props)
    elif loc == 'bottom right':
        ax.text(0.92, 0.12, label, transform=ax.transAxes, fontsize=fs,
                 verticalalignment='top', bbox=props)
        
    return ax