def METHOD_NAME(self, e):
    tdx = -5
    tdy = -7
    th = 15
    w = self.w
    h = self.w
    if h < self.w + 50:
        h = self.w + 50
    bar = self.h - w - th - th
    dc = wx.PaintDC(self)
    brush = wx.Brush("white")
    dc.SetBackground(brush)
    dc.Clear()
    # Background
    dc.SetBrush(wx.Brush(wx.Colour(0, 0, 0), wx.TRANSPARENT))
    dc.DrawCircle(w / 2, w / 2, w / 2 - 1)
    dc.DrawCircle(w / 2, w / 2, w / 4 - 1)
    dc.DrawCircle(w / 2, w / 2, 1)
    font = wx.Font(11, wx.FONTFAMILY_ROMAN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)
    dc.SetFont(font)
    dc.DrawText("N", w / 2 + tdx, 2)
    dc.DrawText("S", w / 2 + tdx, w - 17)
    dc.DrawText("E", w - 15, w / 2 + tdy)
    dc.DrawText("W", 2, w / 2 + tdy)
    # SV
    for chn in self.sv:
        sv = self.sv[chn]
        c = QIColour(sv.QI)
        used = sv.Flags & 1
        s = 7 + used * 5
        el = float(sv.Elev) / 90.0 * float(w) / 2.0
        az = float(sv.Azim) * math.pi / 180.0
        y = float(w) / 2.0 - math.cos(az) * el
        x = float(w) / 2.0 + math.sin(az) * el
        dc.SetBrush(wx.Brush(c, wx.SOLID))
        dc.DrawCircle(int(x), int(y), s)
        font = wx.Font(8, wx.ROMAN, wx.NORMAL, wx.NORMAL)
        dc.SetFont(font)
        dc.DrawText(str(sv.SVID), x + tdx, y + tdy)
        bh = float(bar - th - th) * float(sv.CNO) / 55.0
        dc.DrawRectangle(w / CHANNEL * chn + 5 * (1 - used), self.h - th - bh, w / CHANNEL - 2 - 10 * (1 - used), bh)
        dc.DrawText(str(chn), w / CHANNEL * chn, self.h - th)
        dc.DrawText(str(sv.CNO), w / CHANNEL * chn, self.h - bar)