def setDraw(self, p0=(0, 0), angle=0, mode='plain'):
        """ set element visualization drawing
            
        :param p0: start drawing position, (x,y)
        :param angle: angle [deg] between x-axis angle is rotating from x-axis to be '+' or '-', '+': clockwise, '-': anticlockwise
        :param mode: artist mode, 'plain' or 'fancy', 'plain' by default
        """
        sconf = self.getConfig(type='simu')
        if 'l' in sconf:
            self._style['length'] = float(sconf['l'])
        else:
            self._style['length'] = 0
        self._style['angle'] = angle
        _theta = angle / 180.0 * np.pi  # deg to rad
        _length = self._style['length']
        _lw = self._style['lw']
        _color = self._style['color']
        _alpha = self._style['alpha']
        _height = self._style['h']
        if 'freq' in sconf:
            freqi = int(float(sconf['freq']) / 2856.0e6)
        else:
            freqi = 0

        if freqi == 1:
            _fancyc = '#FFDDBB'  # S band
            _text = 'S'
        elif freqi == 2:
            _fancyc = '#5E5EFF'  # C band
            _text = 'C'
        elif freqi == 4:
            _fancyc = '#8800FF'  # X band
            _text = 'X'
        else:
            _fancyc = '#FFBB00'  # other
            _text = '..'

        #
        #   p1-------p2
        #   |        |
        # --p0       p3--
        #   |        |
        #   p5-------p4
        #
        if mode == 'plain':
            x0, y0 = p0
            x1, y1 = x0, y0 + 0.5 * _height
            x2, y2 = x0 + _length, y1
            x3, y3 = x2, y0
            x4, y4 = x3, y0 - 0.5 * _height
            x5, y5 = x0, y4
            vs = [(x0, y0), (x1, y1), (x2, y2), (x3, y3), (x4, y4), (x5, y5), (x0, y0)]
            cs = [Path.MOVETO, Path.LINETO, Path.LINETO, Path.LINETO, Path.LINETO, Path.LINETO, Path.CLOSEPOLY]
            pth = Path(vs, cs)
            ptch = patches.PathPatch(pth, lw=_lw, fc='w', ec=_color, alpha=_alpha)
            self._patches = []
            self._patches.append(ptch)
            self.next_p0 = x3, y3
            self.next_inc_angle = 0
            pc = (x0 + x3) * 0.5, (y0 + y3) * 0.5
        else:  # fancy mode, 
            x0, y0 = p0
            x1, y1 = x0, y0 + 0.5 * _height
            x2, y2 = x0 + _length, y1
            x3, y3 = x2, y0
            x4, y4 = x3, y0 - 0.5 * _height
            x5, y5 = x0, y4
            vs = [(x0, y0), (x1, y1), (x2, y2), (x3, y3), (x4, y4), (x5, y5), (x0, y0)]
            cs = [Path.MOVETO, Path.LINETO, Path.LINETO, Path.LINETO, Path.LINETO, Path.LINETO, Path.CLOSEPOLY]
            pth = Path(vs, cs)
            ptch = patches.PathPatch(pth, lw=_lw, fc=_fancyc, ec=_fancyc, alpha=_alpha)
            self._patches = []
            self._patches.append(ptch)
            self.next_p0 = x3, y3
            self.next_inc_angle = 0
            pc = (x0 + x3) * 0.5, (y0 + y3) * 0.5

        self._atext = {'xypos': pc, 'text': _text}
        self._anote = {'xypos': pc, 'textpos': pc, 'name': self.name.upper(), 'type': self.typename,
                       'atext': self._atext}