def METHOD_NAME(pump, title='Pump curve', 
                    xmin=0, xmax=None, ymin=0, ymax=None, 
                    xlabel='Flow (m$^3$/s)',
                    ylabel='Head (m)', 
                    ax=None):
    """
    Plot points in the pump curve along with the pump curve polynomial using 
    head curve coefficients (H = A - B*Q**C)
    Parameters
    -----------
    pump : wntr.network.elements.Pump object
        Pump
    title : string, optional
        Plot title
    xmin : float, optional
        X axis minimum
    xmax : float, optional
        X axis maximum
    ymin : float, optional
        Y axis minimum
    ymax : float, optional
        Y axis maximum
    xlabel : string, optional
        X axis label
    ylabel : string, optional
        Y axis label 
    ax : matplotlib axes object, optional
        Axes for plotting (None indicates that a new figure with a single 
        axes will be used)
    Returns
    ---------
    ax : matplotlib axes object  
    """
    try:
        curve = pump.get_pump_curve()
    except:
        print("Pump "+pump.name+" has no curve")
        return
    if ax is None: # create a new figure
        plt.figure(figsize=[8,4])
        ax = plt.gca()
    ax.set_title(title)
    cdata = np.array(curve.points)
    Q = cdata[:,0]
    H = cdata[:,1]
    try:
        coeff = pump.get_head_curve_coefficients()
        A = coeff[0]
        B = coeff[1]
        C = coeff[2]
        Q_max = (A/B)**(1/C)
        q = np.linspace(0, Q_max, 50)
        h = A - B*q**C
        ax.plot(q, h, '--', linewidth=1)
    except:
        pass
    ax.plot(Q, H, 'o', label=curve.name)    
    ax.set_xlim((xmin,xmax))
    ax.set_ylim((ymin,ymax))
    ax.set_xlabel(xlabel)
    ax.set_ylabel(ylabel)
    ax.legend()
    plt.show(block=False)
    return ax