class_docstr: Configure annotations (for pie and bar charts).
  
  Examples
  --------
  .. jupyter-execute::
      :linenos:
      :emphasize-lines: 6
  
      from lets_plot import *
      LetsPlot.setup_html()
      data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] }
      ggplot(data) + geom_pie(aes(slice='value', fill='name'), size=15, hole=0.4, \
                              stat='identity', tooltips = 'none', \
                              labels=layer_labels().line('@value'))
docstr: Line to show in the annotation.
  
  Parameters
  ----------
  value : str
      Enriched string which becomes one line of the annotation.
  
  Returns
  -------
  `layer_labels`
      Annotations specification.
  
  Notes
  -----
  Variables and aesthetics can be accessed via special syntax:
  
  - ^color for aes,
  - @x for variable,
  - @{x + 1} for variable with spaces in the name,
  - @{x^2 + 1} for variable with spaces and '^' symbol in the name,
  - @x^2 for variable with '^' symbol in its name.
  
  A '^' symbol can be escaped with a backslash, a brace character
  in the literal text - by doubling:
  
  - 'x\^2' -> "x^2"
  - '{{x}}' -> "{x}"
  
  Examples
  --------
  .. jupyter-execute::
      :linenos:
      :emphasize-lines: 8-11
  
      from lets_plot import *
      LetsPlot.setup_html()
      data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] }
      ggplot(data) + geom_pie(aes(fill='name', weight='value'), size=15, \
                              tooltips='none', \
                              labels=layer_labels()\
                                    .format('..prop..', '.1%')\
                                    .line('"^fill"')\
                                    .line('@{..count..}')\
                                    .line('@{..prop..}')\
                                    .line('(@{..sum..})'))
code: def line(self, value):
      """
          Line to show in the annotation.
  
          Parameters
          ----------
          value : str
              Enriched string which becomes one line of the annotation.
  
          Returns
          -------
          `layer_labels`
              Annotations specification.
  
          Notes
          -----
          Variables and aesthetics can be accessed via special syntax:
  
          - ^color for aes,
          - @x for variable,
          - @{x + 1} for variable with spaces in the name,
          - @{x^2 + 1} for variable with spaces and '^' symbol in the name,
          - @x^2 for variable with '^' symbol in its name.
  
          A '^' symbol can be escaped with a backslash, a brace character
          in the literal text - by doubling:
  
          - 'x\^2' -> "x^2"
          - '{{x}}' -> "{x}"
  
          Examples
          --------
          .. jupyter-execute::
              :linenos:
              :emphasize-lines: 8-11
  
              from lets_plot import *
              LetsPlot.setup_html()
              data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] }
              ggplot(data) + geom_pie(aes(fill='name', weight='value'), size=15, \\
                                      tooltips='none', \\
                                      labels=layer_labels()\\
                                            .format('..prop..', '.1%')\\
                                            .line('"^fill"')\\
                                            .line('@{..count..}')\\
                                            .line('@{..prop..}')\\
                                            .line('(@{..sum..})'))
  
          """
      if self._lines is None:
          self._lines = []
      self._lines.append(value)
      return self
  
file_path: lets-plot/python-package/lets_plot/plot/annotation.py
imports: from typing import List
  from lets_plot.plot.core import FeatureSpec, _filter_none
label_desc: Use image node_id 4 for calling the layer_labels obj's underlying member method code with example usage: obj.line(value) and returns: self