lets_plot.layer_labels#
- class lets_plot.layer_labels(variables: List[str] | None = None)#
Configure annotations (for pie and bar charts).
Examples
1from lets_plot import * 2LetsPlot.setup_html() 3data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] } 4ggplot(data) + geom_pie(aes(slice='value', fill='name'), size=15, hole=0.4, \ 5 stat='identity', tooltips = 'none', \ 6 labels=layer_labels().line('@value'))
- __init__(variables: List[str] | None = None)#
Initialize self.
- Parameters:
- variableslist of str
Variable names to place in the annotation with default formatting.
- as_dict()#
Return the dictionary of all properties of the object.
- Returns:
- dict
Dictionary of properties.
Examples
1from lets_plot import * 2LetsPlot.setup_html() 3layer_labels().format('@{..prop..}', '.0%') \ 4 .line('@name') \ 5 .line('(@{..prop..})') \ 6 .as_dict()
{'formats': [{'field': '@{..prop..}', 'format': '.0%'}], 'lines': ['@name', '(@{..prop..})']}
- format(field=None, format=None)#
Define the format for displaying the value. This format will be applied to the corresponding value specified in the ‘line’ template.
- Parameters:
- fieldstr
Name of an aesthetic or variable that would be formatted. The field name starts with a ‘^’ prefix for aesthetics, the variable name starts with a ‘@’ prefix or without any prefix.
- formatstr
Formatting specification. The format contains a number format (‘1.f’), a string template (‘{.1f}’) or a date/time format (‘%d.%m.%y’). The numeric format for non-numeric value will be ignored. If you need to include a brace character in the literal text, it can be escaped by doubling: {{ and }}.
- Returns:
- layer_labels
Annotations specification.
Notes
For more info see https://lets-plot.org/python/pages/formats.html.
Examples
1from lets_plot import * 2LetsPlot.setup_html() 3data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] } 4ggplot(data) + geom_pie(aes(fill=as_discrete('name', order_by='..count..'), weight='value'), \ 5 size=15, tooltips='none', \ 6 labels=layer_labels(['..proppct..']) \ 7 .format('..proppct..', '{.1f}%'))
1from lets_plot import * 2LetsPlot.setup_html() 3data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] } 4ggplot(data) + geom_pie(aes(fill=as_discrete('name', order_by='..count..', order=1), weight='value'), \ 5 size=15, tooltips='none', \ 6 labels=layer_labels() \ 7 .format('^fill', '{{{}}}') \ 8 .line('^fill') \ 9 .format('..count..', 'd') \ 10 .line('@{..count..}') \ 11 .format('..prop..', '.1%') \ 12 .line('@{..prop..}') \ 13 .format('..sum..', 'of {d}') \ 14 .line('@{..sum..}'))
- line(value)#
Line to show in the annotation.
- Parameters:
- valuestr
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
1from lets_plot import * 2LetsPlot.setup_html() 3data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] } 4ggplot(data) + geom_pie(aes(fill='name', weight='value'), size=15, \ 5 tooltips='none', \ 6 labels=layer_labels()\ 7 .format('..prop..', '.1%')\ 8 .line('"^fill"')\ 9 .line('@{..count..}')\ 10 .line('@{..prop..}')\ 11 .line('(@{..sum..})'))
- size(value)#
Text size in the annotation.
- Parameters:
- valuefloat
Text size in the annotation.
- Returns:
- layer_labels
Annotations specification.
Examples
1from lets_plot import * 2LetsPlot.setup_html() 3data = {'name': ['a', 'b', 'c', 'd', 'b'], 'value': [40, 90, 10, 50, 20 ] } 4ggplot(data) + geom_pie(aes(slice='value', fill='name'), size=15, hole=0.4, \ 5 stat='identity', tooltips = 'none', \ 6 labels=layer_labels().line('@value') 7 .size(25))