docs: def render(self, **kwargs):
          """Renders the HTML representation of the element."""
          self.json = json.dumps(self.data)
  
          self._parent.html.add_child(Element(Template("""
              <div id="{{this.get_name()}}"></div>
              """).render(this=self, kwargs=kwargs)), name=self.get_name())
  
          self._parent.script.add_child(Element(Template("""
              vega_parse({{this.json}},{{this.get_name()}});
              """).render(this=self)), name=self.get_name())
  
          figure = self.get_root()
          assert isinstance(figure, Figure), ('You cannot render this Element '
                                              'if it is not in a Figure.')
  
          figure.header.add_child(Element(Template("""
              <style> #{{this.get_name()}} {
                  position : {{this.position}};
                  width : {{this.width[0]}}{{this.width[1]}};
                  height: {{this.height[0]}}{{this.height[1]}};
                  left: {{this.left[0]}}{{this.left[1]}};
                  top: {{this.top[0]}}{{this.top[1]}};
              </style>
              """).render(this=self, **kwargs)), name=self.get_name())
  
          figure.header.add_child(
              JavascriptLink('https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js'),  # noqa
              name='d3')
  
          figure.header.add_child(
              JavascriptLink('https://cdnjs.cloudflare.com/ajax/libs/vega/1.4.3/vega.min.js'),  # noqa
              name='vega')
  
          figure.header.add_child(
              JavascriptLink('https://code.jquery.com/jquery-2.1.0.min.js'),
              name='jquery')
  
          figure.script.add_child(
              Template("""function vega_parse(spec, div) {
              vg.parse.spec(spec, function(chart) { chart({el:div}).update(); });}"""),  # noqa
              name='vega_parse')