def METHOD_NAME(self, dc):
    if self.Size[0] < 1 or self.Size[1] < 1: #nothing to do
        return
    dc.SetFont(wx.NORMAL_FONT)
    self.textSize = dc.GetTextExtent('test')[1] + 4
    #text_x = dc.GetTextExtent('test')[0]
    h = (self.Size[1] - self.textSize - 2)*(1.0-((self.h - self.h.min())/(1.0*(self.h.max()-self.h.min() + .1))))
    maxy = self.Size[1] - self.textSize
    pointlist = [(i+self.left_margin,h_i) for i, h_i in zip(range(len(h)), h)]
    #pointlist = [(10,h[0])] + pointlist + [(self.Size[0], maxy)]
    dc.Clear()
    #when being used to determine histogram bins
    if not self.binSize is None:
        binEdges = numpy.arange(self.hmin, self.hmax + self.binSize, self.binSize)
        for i in range(len(binEdges) -1):
            llx = math.floor((binEdges[i] - self.hmin)/self.hstep)
            ulx = math.ceil((binEdges[i+1] - self.hmin)/self.hstep)
            dc.SetPen(wx.TRANSPARENT_PEN)
            if i % 2 == 0: #even
                dc.SetBrush(wx.Brush(wx.Colour(0xC0, 0xC0, 0xFF)))
            else:
                dc.SetBrush(wx.Brush(wx.Colour(0xA0, 0xA0, 0xFF)))
            dc.DrawRectangle(llx, 0, ulx - llx, maxy)
    dc.SetPen(wx.BLACK_PEN)
    dc.SetBrush(wx.BLACK_BRUSH)
    dc.DrawLines(pointlist)
    #if self.dragging == 'lower':
    #    dc.SetPen(wx.Pen(wx.GREEN, 2))
    #else:
    #    dc.SetPen(wx.Pen(wx.RED, 2))
    #print self.limit_lower
    llx = (self.limit_lower - self.hmin)/self.hstep
    #dc.DrawLine(llx, 0, llx, maxy)
    lab = '%1.3G' % self.limit_lower
    labSize = dc.GetTextExtent(lab)
    dc.DrawText(lab, max(llx - labSize[0]/2 + self.left_margin, 0), maxy + 2)
    if not self.threshMode:
        #if self.dragging == 'upper':
        #    dc.SetPen(wx.Pen(wx.GREEN, 2))
        #else:
        #    dc.SetPen(wx.Pen(wx.RED, 2))
        ulx = (self.limit_upper - self.hmin)/self.hstep
        #dc.DrawLine(ulx, 0, ulx, maxy)
        lab = '%1.3G' % self.limit_upper
        labSize = dc.GetTextExtent(lab)
        dc.DrawText(lab, min(ulx - labSize[0]/2, self.Size[0] - labSize[0]), maxy + 2)
    lly = 0 #self.h.min()
    #dc.DrawLine(llx, 0, llx, maxy)
    lab = '%1.3G' % self.h.max()
    labSize = dc.GetTextExtent(lab)
    dc.DrawText(lab, 0, lly)
    # -  #self.h.min()
    #dc.DrawLine(llx, 0, llx, maxy)
    lab = '%1.3G' % self.h.min()
    labSize = dc.GetTextExtent(lab)
    lly = maxy - labSize[1]
    dc.DrawText(lab, 0, lly)
    dc.SetPen(wx.NullPen)
    dc.SetBrush(wx.NullBrush)
    dc.SetFont(wx.NullFont)