docs: def render(self, **kwargs):
          """Renders the HTML representation of the element."""
          vegalite_major_version = self._get_vegalite_major_versions(self.data)
  
          self._parent.html.add_child(Element(Template("""
              <div id="{{this.get_name()}}"></div>
              """).render(this=self, kwargs=kwargs)), 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())
  
          if vegalite_major_version == '1':
              self._embed_vegalite_v1(figure)
          elif vegalite_major_version == '2':
              self._embed_vegalite_v2(figure)
          elif vegalite_major_version == '3':
              self._embed_vegalite_v3(figure)
          else:
              # Version 2 is assumed as the default, if no version is given in the schema.
              self._embed_vegalite_v2(figure)