KPLOT_ATTACH_SMOOTH(3)

NAME
kplot_attach_smooth - assign smoothed plot data to plotting context

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, reference-counting 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 y-values to within the unit interval.

KSMOOTH_PMF
    Normalise the y-values 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.

SEE ALSO
kplot(3), kplot_attach_data(3), kplot_attach_datas(3)

CAVEATS
The KSMOOTH_CDF an KSMOOTH_PMF has undefined behaviour for negative probabilities.