geom_function#
- geom_function(mapping=None, *, data=None, stat=None, geom=None, position=None, show_legend=None, inherit_aes=None, manual_key=None, tooltips=None, fun=None, xlim=None, n=None, color_by=None, **other_args)#
Compute and draw a function.
- Parameters:
- mappingFeatureSpec
Set of aesthetic mappings created by aes() function. Aesthetic mappings describe the way that variables in the data are mapped to plot “aesthetics”.
- datadict or Pandas or Polars DataFrame
The data to be used in this layer. Specify to describe the definition area of a function. If None, the default, the data will not be used at all.
- statstr, default=’identity’
The statistical transformation to use on the data generated by the function. Supported transformations: ‘identity’ (leaves the data unchanged), ‘smooth’ (performs smoothing - linear default), ‘density2d’ (computes and draws 2D kernel density estimate).
- geomstr, default=’line’
The geometry to display the function, as a string.
- positionstr or FeatureSpec, default=’identity’
Position adjustment. Either a position adjustment name: ‘dodge’, ‘dodgev’, ‘jitter’, ‘nudge’, ‘jitterdodge’, ‘fill’, ‘stack’ or ‘identity’, or the result of calling a position adjustment function (e.g., position_dodge() etc.).
- show_legendbool, default=True
False - do not show legend for this layer.
- inherit_aesbool, default=True
False - do not combine the layer aesthetic mappings with the plot shared mappings.
- manual_keystr or layer_key
The key to show in the manual legend. Specify text for the legend label or advanced settings using the layer_key() function.
- tooltipslayer_tooltips
Result of the call to the layer_tooltips() function. Specify appearance, style and content. Set tooltips=’none’ to hide tooltips from the layer.
- funfunction
A function of one variable in Python syntax.
- xlimlist of float, default=[0.0, 1.0]
Range of the function. Float array of length 2.
- nint, default=512
Number of points to interpolate along the x axis.
- color_by{‘fill’, ‘color’, ‘paint_a’, ‘paint_b’, ‘paint_c’}, default=’color’
Define the color aesthetic for the geometry.
- other_args
Other arguments passed on to the layer. These are often aesthetics settings used to set an aesthetic to a fixed value, like color=’red’, fill=’blue’, size=3 or shape=21. They may also be parameters to the paired geom/stat.
- Returns:
- LayerSpec
Geom object specification.
Notes
geom_function() understands the following aesthetics mappings:
x : x-axis value.
alpha : transparency level of a layer. Accept values between 0 and 1.
color (colour) : color of the geometry. For more info see Color and Fill.
linetype : type of the line. Accept codes or names (0 = ‘blank’, 1 = ‘solid’, 2 = ‘dashed’, 3 = ‘dotted’, 4 = ‘dotdash’, 5 = ‘longdash’, 6 = ‘twodash’), a hex string (up to 8 digits for dash-gap lengths), or a list pattern [offset, [dash, gap, …]] / [dash, gap, …]. For more info see Line Types.
size : line width.
To hide axis tooltips, set ‘blank’ or the result of element_blank() to the axis_tooltip, axis_tooltip_x or axis_tooltip_y parameter of the theme().
Examples
1import numpy as np 2from scipy.stats import norm 3from lets_plot import * 4LetsPlot.setup_html() 5np.random.seed(42) 6x = np.random.normal(size=500) 7ggplot() + \ 8 geom_density(aes(x='x'), data={'x': x}) + \ 9 geom_function(fun=norm.pdf, xlim=[-4, 4], color="red")
1from lets_plot import * 2LetsPlot.setup_html() 3data = {'x': list(range(-5, 6))} 4ggplot() + \ 5 geom_function(aes(x='x', color='y', size='y'), \ 6 data=data, fun=lambda t: t**2, show_legend=False) + \ 7 scale_color_gradient(low="red", high="green") + \ 8 scale_size(range=[1, 4], trans='reverse')
1from math import sqrt 2from lets_plot import * 3LetsPlot.setup_html() 4fun_layer = lambda fun: geom_function(fun=fun, xlim=[-2, 2], n=9, \ 5 stat='density2d', geom='density2d') 6gggrid([ 7 ggplot() + fun_layer(lambda t: t), 8 ggplot() + fun_layer(lambda t: t**2), 9 ggplot() + fun_layer(lambda t: 2**t), 10 ggplot() + fun_layer(lambda t: sqrt(4 - t**2)) + coord_fixed(ratio=2), 11], ncol=2)