KPLOT_ATTACH_SMOOTH(3) 
Library Functions Manual 
KPLOT_ATTACH_SMOOTH(3) 
NAME
kplot_attach_smooth — assign smoothed plot data to plotting context
LIBRARY
library “libkplot”
SYNOPSIS
#include <cairo.h>
#include <kplot.h>
int
kplot_attach_smooth(
const struct kplot *p,
struct kdata *d,
enum kplottype t,
const struct kdatacfg *cfg,
enum ksmthtype smthtype,
const struct ksmthcfg *smth);
DESCRIPTION
The
kplot_attach_smooth function assigns a smoothed data source
d to a plotting context
p, referencecounting the data source in the process. See
kplot_attach_data(3) for details on the
p,
d,
t, and
cfg parameters. The remaining
smthtype and
smth configure smoothing options, which manipulate the data as it's being drawn. The following smoothing types are available:

KSMOOTH_MOVAVG

Replace each point with the average of the surrounding movsamples points. If movsamples if not an odd number, it is increased by one. If the point is not surrounded completely by movsamples, say by being at the initial or trailing points of the data set, or the points surrounding are not valid numbers, then the point is not averaged.

KSMOOTH_CDF

Compute the empirical CDF from all valid points of the set. This will normalise the yvalues to within the unit interval.

KSMOOTH_PMF

Normalise the yvalues as probabilities of valid points of the set.
RETURN VALUES
kplot_attach_smooth returns 0 if allocation of internal structures fails due to memory exhaustion. In this case, all allocations and references will be dropped.
CAVEATS
The KSMOOTH_CDF an KSMOOTH_PMF has undefined behaviour for negative probabilities.