lets_plot.mapping.as_discrete¶
- lets_plot.mapping.as_discrete(variable, label=None, order_by=None, order=None)¶
The function is used to annotate a numeric data series as categorical data with the possibility of its ordering for the purposes of given visualization.
- Parameters
- variablestr
The name of the variable.
- labelstr
The name of the scale - used as the axis label or the legend title.
- order_bystr
The variable name to order by.
- orderint
The ordering direction. 1 for ascending, -1 for descending.
- Returns
- MappingMeta or list
Variable meta information.
Notes
The plot will use a discrete scale for the aesthetic mapping. It is similar to the factor() function from R but works differently - there is no data transformation.
To enable ordering mode, at least one ordering parameter (order_by or order) should be specified. By the default, it will use descending direction and ordering by eigenvalues. You cannot specify different order settings for the same variable. But if these settings don’t contradict each other, they will be combined.
Examples
1import numpy as np 2from lets_plot import * 3from lets_plot.mapping import as_discrete 4LetsPlot.setup_html() 5n = 100 6np.random.seed(42) 7data = { 8 'x': np.random.normal(size=n), 9 'y': np.random.normal(size=n), 10 'c': np.random.randint(5, size=n), 11} 12ggplot(data, aes('x', 'y')) + \ 13 geom_point(aes(color=as_discrete('c')))
1import numpy as np 2from lets_plot import * 3from lets_plot.mapping import as_discrete 4LetsPlot.setup_html() 5n = 100 6np.random.seed(42) 7data = { 8 'x': np.random.uniform(size=100), 9 'c': np.random.choice(list('abcde'), size=100), 10} 11ggplot(data) + \ 12 geom_boxplot(aes(as_discrete('c', label='class', order=1), 'x'))
1import numpy as np 2from lets_plot import * 3from lets_plot.mapping import as_discrete 4LetsPlot.setup_html() 5n = 100 6np.random.seed(42) 7data = { 8 'x': np.random.normal(size=n), 9 'c': np.random.choice(list('abcde'), size=n), 10 'i': np.random.randint(3, size=n), 11} 12ggplot(data) + \ 13 geom_bar(aes(as_discrete('c', order=1, order_by='..count..'), 'x', \ 14 fill=as_discrete('i', order=1, order_by='..count..')))