diff --git a/docs/kd.tree b/docs/kd.tree index aefb1b1e..14775e95 100644 --- a/docs/kd.tree +++ b/docs/kd.tree @@ -61,6 +61,7 @@ + @@ -73,6 +74,7 @@ + diff --git a/docs/topics/apiRef/Area-API.md b/docs/topics/apiRef/Area-API.md index dde72670..dad4321e 100644 --- a/docs/topics/apiRef/Area-API.md +++ b/docs/topics/apiRef/Area-API.md @@ -2,45 +2,25 @@

area { this: AreaContext ->

- -
  • -x Positional - -
  • -
  • -y Positional - -
  • -
  • -alpha NonPositional - -
  • -
  • -fillColor NonPositional - -
  • -
  • - -
  • -
    + }
    ## Properties -### x +### x {id="x_area"} -### y +### y {id="y_area"} -### alpha +### alpha {id="alpha_area"} -### fillColor +### fillColor {id="fill_color_area"} diff --git a/docs/topics/apiRef/Bars-API.md b/docs/topics/apiRef/Bars-API.md index 3a2d3718..45a73711 100644 --- a/docs/topics/apiRef/Bars-API.md +++ b/docs/topics/apiRef/Bars-API.md @@ -2,49 +2,29 @@

    bars { this: BarsContext ->

    - -
  • -x Positional - -
  • -
  • -y Positional - -
  • -
  • -alpha NonPositional - -
  • -
  • -fillColor NonPositional - -
  • -
  • - -
  • -
    + }
    ## Properties -### x +### x {id="x_bars"} -### y +### y {id="y_bars"} -### alpha +### alpha {id="alpha_bars"} -### width +### width {id="width_bars"} -### fillColor +### fillColor {id="fill_color_bars"} diff --git a/docs/topics/apiRef/Boxes-API.md b/docs/topics/apiRef/Boxes-API.md index 277bd948..bc31e2e1 100644 --- a/docs/topics/apiRef/Boxes-API.md +++ b/docs/topics/apiRef/Boxes-API.md @@ -2,159 +2,55 @@

    boxes { this: BoxesContext ->

    - -
  • -x Positional - -
  • -
  • -lower Positional - -
  • -
  • -middle Positional - -
  • -
  • -upper Positional - -
  • -
  • -yMin Positional - -
  • -
  • -yMax Positional - -
  • - -
  • -alpha NonPositional - -
  • -
  • -width NonPositional - -
  • -
  • -fillColor NonPositional - -
  • -
  • -fatten NonPositional -Double -
  • -
  • - -
  • -
  • -y - -
  • -
    + }
    ## Properties -### x +### x {id=x_boxes} -### lower +### lower {id=lower_boxes} -The `lower` aesthetic is specifically designed for use in box plots, where it represents the lower quartile of the data. -This quartile marks the bottom edge of the box, indicating the value below which 25% of the data points fall. -The `lower` aesthetic is critical for accurately displaying the distribution of data within a box plot. + -**Setting** - -* `lower.constant(Any)`: directly sets the lower quartile value for all boxes in the plot. - This approach is useful for highlighting a specific threshold or for comparative analysis across different datasets. - Example: `lower.constant(0.7)` uniformly sets the lower quartile to 0.7 for all boxes. - -**Mapping** - -* `lower(Iterable)`: associates the lower quartile of each box with values from an iterable collection. This method - allows for variable lower quartiles across boxes, useful for visualizing distributions from different groups or - categories. -* `lower(ColumnReference | KProperty | DataColumn)`: dynamically links the lower quartile of boxes to a DataFrame - column. - This mapping is essential for directly visualizing the statistical properties of the dataset. -* `lower(String)`: connects the lower quartile to data based on the column name in the DataFrame or by key in a Map, - offering flexibility in data representation. - -### middle +### middle {id=middle_boxes} -The `middle` aesthetic is instrumental in visualizing the central tendency within box plots and crossbars, -representing the median of the data in box plots and the central value in crossbars. -This aesthetic is key to conveying the central point around which the distribution or error bars are constructed, -providing a clear visual indicator of the dataset's middle value. - -**Setting** - -* `middle.constant(Any)`: applies a fixed value for the median or central value across all applicable elements within a - layer. - This method is useful for comparative analysis or highlighting specific median values across groups. - Example: `middle.constant(1.1)` uniformly sets the median or central value to 1.1 for all elements. + -**Mapping** - -* `middle(Iterable)`: links each element's median or central value to a value from an iterable collection, allowing for - the visualization of variable middle points across different data groups or categories. -* `middle(ColumnReference | KProperty | DataColumn)`: dynamically associates the median or central value with a - DataFrame column, enabling the representation of data-driven median values. -* `middle(String)`: connects the median or central value to data based on the column name in the DataFrame or by key in - a Map, offering flexibility in representing central tendencies through data. - -### upper +### upper {id=upper_boxes} -The `upper` aesthetic plays a crucial role in box plots by representing the upper quartile of the dataset. -This quartile marks the top edge of the box, indicating the value above which 25% of the data points fall. -The `upper` aesthetic is essential for accurately displaying the spread and distribution of data within a box plot. - -**Setting** - -* `upper.constant(Any)`: assigns a uniform upper quartile value across all boxes in the plot. - This method is beneficial for standardizing comparisons or highlighting specific thresholds across datasets. - Example: `upper.constant(1.5)` sets a consistent upper quartile to 1.5 for all boxes. - -**Mapping** - -* `upper(Iterable)`: each box's upper quartile is associated with a value from an iterable collection, enabling the - visualization of varying upper quartiles across different data groups or categories. -* `upper(ColumnReference | KProperty | DataColumn)`: dynamically links the upper quartile of boxes to a DataFrame - column, allowing for the visualization of data-driven upper quartiles. -* `upper(String)`: connects the upper quartile to data based on the column name in the DataFrame or by key in a Map, - offering flexibility in representing upper limits through data. + -### yMin +### yMin {id=ymin_boxes} -### yMax +### yMax {id=ymax_boxes} -### alpha +### alpha {id=alpha_boxes} -### width +### width {id=width_boxes} -### fillColor +### fillColor {id=fill_color_boxes} -### fatten +### fatten {id=fatten_boxes} @@ -164,6 +60,6 @@ The `upper` aesthetic is essential for accurately displaying the spread and dist ## Free Scales -### y +### y {id=y_boxes} diff --git a/docs/topics/apiRef/Boxplot-API.md b/docs/topics/apiRef/Boxplot-API.md index d1eae199..62e986e8 100644 --- a/docs/topics/apiRef/Boxplot-API.md +++ b/docs/topics/apiRef/Boxplot-API.md @@ -1,3 +1,232 @@ # boxplot -## Properties \ No newline at end of file + +

    +boxplot<X>>( +x: +, +y: +, +whiskerIQRRatio: +Double = 1.5){ this: BoxplotStatLayerContext<X> ->

    + +
  • +

    boxes { this: BoxesStatContext<X> ->

    + +} +
  • +
  • +

    outliers { this: OutliersContext<X> ->

    + +} +
  • +
    +} +
    + +The `boxplot` adds a boxplot layer +function optionally creates a new context, where boxplot boxes and outliers can be configured +(through opening corresponding contexts which contain [points](https://kotlin.github.io/kandy/points-api.html)/[boxes](https://kotlin.github.io/kandy/boxes-api.html) +aesthetics and "boxplot"/"boxplot outliers" statistic calculated +on sample of a single numeric variable [y](#y) +in several groups defined by [x](#x)). +In these contexts, all required aesthetics are assigned by default but can be overridden. + +Boxplot serves as a statistical visualization technique, +illustrating the distribution and summary statistics of a dataset in a graphical format. + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### x + +

    Required

    +

    +Iterable +Column +String +

    +

    The x argument is used to provide the +x-categories of sample (one boxplot will be counted for each category). +

    + +### y + +

    Required

    +

    +Iterable +Column +String +

    +

    The y argument is used to provide the sample on which the statistic is computed. +

    + +### whiskerIQRRatio + +

    Optional

    +

    Double

    +

    The whiskerIQRRatio argument is used to determine the +interquartile range multiplier of whiskers lengths.

    + +## Boxplot statistic properties + +In `boxes` context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains boxplot x category. +

    + +### Stat.min + +

    Column<Double>

    +

    The Stat.min contains lower whisker ends - the minimum non-outlier data point. +

    + +### Stat.lower + +

    Column<Double>

    +

    The Stat.lower contains lower box edges - the first quartile (Q1). +

    + +### Stat.middle + +

    Column<Double>

    +

    The Stat.middle contains medians - the second quartile (Q2). +

    + +### Stat.upper + +

    Column<Double>

    +

    The Stat.upper contains upper box edges - the third quartile (Q3). +

    + +### Stat.max + +

    Column<Double>

    +

    The Stat.upper contains upper whisker ends - the maximum non-outlier data point. +

    + +## Boxes aesthetic properties {id=boxes_aes} + +### x {id=x_boxes} + + + +### lower {id=lower_boxes} + + + + + +### middle {id=middle_boxes} + + + + + +### upper {id=upper_boxes} + + + + + +### yMin {id=ymin_boxes} + + + +### yMax {id=ymax_boxes} + + + +### alpha {id=alpha_boxes} + + + +### width {id=width_boxes} + + + +### fillColor {id=fill_color_boxes} + + + +### fatten {id=fatten_boxes} + + + +### borderLine + + + +## Free Scales + +### y {id=y_boxes} + + + +## Outlers statistic properties + +In `outliers` context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x {id=stat_x_outliers} + +

    Column<X>

    +

    The Stat.x contains outlier x category. +

    + +### Stat.y + +

    Column<Doule>

    +

    The Stat.y contains outlier value. +

    + +## Outliers aesthetic properties {id=outliers_aes} + +See [points](https://kotlin.github.io/kandy/points-api.html). + +### x {id=x_points} + +

    +Has default mapping +Positional +

    + + +### y {id=y_points} + +

    +Has default mapping +Positional +

    + + +### alpha {id=alpha_points} + + + +### symbol {id=symbol_points} + + + +### color {id=color_points} + + + +### fillColor {id=fill_color_points} + + + +### size {id=size_points} + + + +### stroke {id=stroke_points} + + diff --git a/docs/topics/apiRef/Candlestick-API.md b/docs/topics/apiRef/Candlestick-API.md new file mode 100644 index 00000000..7a8177dc --- /dev/null +++ b/docs/topics/apiRef/Candlestick-API.md @@ -0,0 +1,299 @@ +# candlestick + + +

    +candlestick<X>>( +x: +, +open: +, +high: +, +low: +, +close: + +{ this: CandlestickLayerContext<X> ->

    + + +
  • +increase { this: CandlestickConfiguration -> + +
  • + fillColor: Color = Color.GREEN +
  • +
  • + alpha: += 0.6 +
  • +
  • + + borderLine + + { this: CandlestickBorderLineContext -> + +
  • + + color + : Color = Color.GREEN +
  • +
  • + + type + : LineType = LineType.SOLID +
  • +
  • + + width + : Double = 1.0 +
  • +
    + } + + +} + +
  • +decrease { this: CandlestickConfiguration -> + +
  • + fillColor: Color = Color.RED +
  • +
  • + alpha: + = 0.6 +
  • +
  • + + borderLine + + { this: CandlestickBorderLineContext -> + +
  • + + color + : Color = Color.RED +
  • +
  • + + type + : LineType = LineType.SOLID +
  • +
  • + + width + : Double = 1.0 +
  • + + } + + +} + + +} +
    + +The `candlestick` adds a candlestick layer +function optionally creates a new context with [boxes](https://kotlin.github.io/kandy/boxes-api.html) aesthetics and new dataset +which contains the "candlestick" statistic calculated on sample of four numeric variables +([open](#open), [high](#high), [low](#low), [close](#close)) +in several groups defined by [x](#x). + +Candlestick is a type of chart commonly used in financial markets to represent the price movement +of an asset, such as stocks or cryptocurrencies. +It consists of individual "candles" that display the +opening, closing, +high, and low prices for a specific time period. +Each candle has a rectangular body, representing the opening and closing prices, +and thin lines, called wicks or shadows, indicating the highest and lowest prices during that time frame. + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### x + +

    Required

    +

    +Iterable<X> +Column<X> +String +

    +

    The x argument is used to provide the +x-categories of candle. +

    + +### open + +

    Required

    +

    +Iterable +Column +String +

    +

    The open argument is used to provide the +opening value of candle. +

    + +### high + +

    Required

    +

    +Iterable +Column +String +

    +

    The high argument is used to provide the +high (maximum) value of candle. +

    + +### low + +

    Required

    +

    +Iterable +Column +String +

    +

    The low argument is used to provide the +low (minimum) value of candle. +

    + +### close + +

    Required

    +

    +Iterable +Column +String +

    +

    The close argument is used to provide the +closing value of candle. +

    + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains candle x category. +

    + +### Stat.open + +

    Column<Double>

    +

    The Stat.open contains candle open. Equals to input open. +

    + +### Stat.close + +

    Column<Double>

    +

    The Stat.close contains candle close. Equals to input close. +

    + +### Stat.min + +

    Column<Double>

    +

    The Stat.min contains candle minimum. Equals to input low. +

    + +### Stat.lower + +

    Column<Double>

    +

    The Stat.lower contains lower candle edges (i.e. +smaller of open/close). +

    + +### Stat.upper + +

    Column<Double>

    +

    The Stat.upper contains upper candle edges (i.e. +greater of open/close). +

    + +### Stat.max + +

    Column<Double>

    +

    The Stat.min contains candle maximum. Equals to input high. +

    + +### Stat.isIncreased + +

    Column<Boolean>

    +

    The Stat.isIncreased contains candle increase indicator: +true if close value is greater than open value. +

    + +## Boxes aesthetic properties + +See [boxes](https://kotlin.github.io/kandy/boxes-api.html). + +### x {id=x_boxes} + + + +### lower {id=lower_boxes} + + + + + +### middle {id=middle_boxes} + + + + + +### upper {id=upper_boxes} + + + + + +### yMin {id=ymin_boxes} + + + +### yMax {id=ymax_boxes} + + + +### alpha {id=alpha_boxes} + + + +### width {id=width_boxes} + + + +### fillColor {id=fill_color_boxes} + + + +### fatten {id=fatten_boxes} + + + +### borderLine + + + +## increase / decrease {id = inc_dec} + +In addition to the usual customization using mappings on statistics, `candlestick` +has an additional simplified API that allows you to quickly customize +a candle depending on its character (is it increase or decrease), using `increase` and `decrease` contexts. +In them, you can assign a value to several aesthetics ([fillColor](#fill_color_boxes), [alpha](#alpha_boxes), +[borderLine](#borderline)). + +## Free Scales + +### y {id=y_boxes} + + diff --git a/docs/topics/apiRef/CountPlot-API.md b/docs/topics/apiRef/CountPlot-API.md index c31d95a3..d614043b 100644 --- a/docs/topics/apiRef/CountPlot-API.md +++ b/docs/topics/apiRef/CountPlot-API.md @@ -1,3 +1,90 @@ # countPlot -## Properties \ No newline at end of file + +

    +countPlot<X>( +x: +, +weights: + = null +) { this: CountPlotLayerContext ->

    + +} +
    + +The `countPlot` adds a count-plot layer +function optionally creates a new context with [bars](https://kotlin.github.io/kandy/bars-api.html) aesthetics and new dataset +which contains the "count" statistic calculated on sample of a single categorical variable [x](#x). +In this context, all required aesthetics are assigned by default but can be overridden. + +It's a bar plot where each bar is representing one of the categories: +its `x` coordinate is corresponding to the category +and `y` to its count. +It's weighted, it means the weighted count for each category is calculated +(each element within a category is counted along with its weight). + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### x + + + +### weights + + + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains categories. +

    + +### Stat.count + +

    Column<Int>

    +

    The Stat.count contains number of observations in this category +

    + +### Stat.countWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted count (sum of weights in this category). +Without weights its values matches Stat.count values. +

    + +## Bars aesthetic properties + +See [bars](https://kotlin.github.io/kandy/bars-api.html). + +### x {id="x_bars"} + + + +### y {id="y_bars"} + + + +### alpha {id="alpha_bars"} + + + +### width {id="width_bars"} + + + +### fillColor {id="fill_color_bars"} + + + +### borderLine + + \ No newline at end of file diff --git a/docs/topics/apiRef/DensityPlot-API.md b/docs/topics/apiRef/DensityPlot-API.md index a17e70cb..49d310ec 100644 --- a/docs/topics/apiRef/DensityPlot-API.md +++ b/docs/topics/apiRef/DensityPlot-API.md @@ -1,3 +1,186 @@ # densityPlot -## Properties \ No newline at end of file + +

    +densityPlot( +x: +, +weights: + = null, +n:Int = 512, +trim:Boolean = false, +adjust:Double = 1.0, +kernel: Kernel = Kernel.GAUSSIAN, +fullScanMax: Int = 5000, +bandWidth: BandWidth = BandWidth.Method.NRD0, +) { this: DensityPlotLayerContext ->

    + +} +
    + +The `densityPlot` adds a density-plot layer +function optionally creates a new context with [area](https://kotlin.github.io/kandy/area-api.html) aesthetics and new dataset +which contains the "density" statistic calculated on sample of a single numeric variable [x](#x). +In this context, all required aesthetics are assigned by default but can be overridden. + +Density plot is a statistical plot used for visualizing the distribution of continuous variables. +It's an area plot of kernel-estimated Probability Density Function (PDF). +It's weighted, it means the counted density depends on observation weights. + +## Arguments + +### x + + + +### weights + + + +### n + +

    Optional

    +

    Double

    +

    +The n argument is used to specify +the number of sampled points. +

    + +### trim + +

    Optional

    +

    Boolean

    +

    +The n argument is used to specify +the range of density calculation for grouped data: if false, each density is computed on the +full range of the data, +if true, each density is computed over the range of that group (only for grouped inputs). +

    + +### adjust + +

    Optional

    +

    Double

    +

    +The adjust argument is used to adjust the value of +bandwidth by multiplying it; changes how smooth the frequency curve is. +

    + +### kernel + +

    Optional

    +

    Kernel

    +

    +The kernel argument is used to adjust the kernel used to calculate the density function. +

    + + +
  • +

    Kernel.GAUSSIAN;

    +
  • +
  • +

    Kernel.RECTANGULAR;

    +
  • +
  • +

    Kernel.TRIANGULAR;

    +
  • +
  • +

    Kernel.BIWEIGHT;

    +
  • +
  • +

    Kernel.EPANECHNIKOV;

    +
  • +
  • +

    Kernel.OPTCOSINE.

    +
  • +
    + +### fullScanMax + +

    Optional

    +

    Int

    +

    +The adjust argument is used to specify the maximum size of data to use density computation with +"full scan". For bigger data, less accurate but more efficient density computation is applied. +

    + +### bandWidth + +

    Optional

    +

    BandWidth

    +

    +The bandWidth argument is used to adjust the method (or exact value) of bandwidth: +

    + + +
  • +

    BandWidth.Method.NRD;

    +
  • +
  • +

    BandWidth.Method.NRD0;

    +
  • +
  • +

    BandWidth.value(value: Double).

    +
  • +
    + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<Double>

    +

    The Stat.x contains points x-coordinate. +

    + +### Stat.density + +

    Column<Double>

    +

    The Stat.density contains estimated density in points. +

    + +### Stat.densityWeighted + +

    Column<Double>

    +

    The Stat.densityWeighted contains weighted density. +Without weights its values matches Stat.density values. +

    + +### Stat.scaled + +

    Column<Double>

    +

    The Stat.count contains estimated density scaled to maximin of 1.0.. +

    + +### Stat.scaledWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted scaled density. +Without weights its values matches Stat.scaled values. +

    + +## Area aesthetic properties + +See [area](https://kotlin.github.io/kandy/area-api.html). + +### x {id="x_area"} + + + +### y {id="y_area"} + + + +### alpha {id="alpha_area"} + + + +### fillColor {id="fill_color_area"} + + + +### borderLine + + diff --git a/docs/topics/apiRef/Heatmap-API.md b/docs/topics/apiRef/Heatmap-API.md index 1aba836b..d135ea3c 100644 --- a/docs/topics/apiRef/Heatmap-API.md +++ b/docs/topics/apiRef/Heatmap-API.md @@ -1,3 +1,110 @@ # heatmap -## Properties \ No newline at end of file + +

    +heatmap<X> +<Y> +( +x: +, +y: +, +weights: + = null +) { this: HeatmapLayerContext ->

    + +} +
    + +The `heatmap` adds a heatmap layer +function optionally creates a new context with [tiles](https://kotlin.github.io/kandy/tiles-api.html) aesthetics +and new dataset which contains the "count2D" statistic calculated +on sample of two categorical variables [x](#x) and [y](#y). It's a tile plot +where each tile is representing one of a pair of categories: +its `x` coordinate is corresponding to x-category, +`y` to y-category, and its filling color is to [count](#stat-x) of this pair. + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### Y {id=ytype} + +

    Type of y categories

    + +### x + + + +### y + + + +### weights + + + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains x-part of categories. +

    + +### Stat.y + +

    Column<Y>

    +

    The Stat.x contains y-part categories. +

    + +### Stat.count + +

    Column<Int>

    +

    The Stat.count contains number of observations in this category +(each one is specified by its x- and y- part) +

    + +### Stat.countWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted count (sum of weights in this category). +Without weights its values matches Stat.count values. +

    + +## Tiles properties + +See [tiles](https://kotlin.github.io/kandy/tiles-api.html). + +### x {id=x_tiles} + + + +### y {id=y_tiles} + + + +### alpha {id=alpha_tiles} + + + +### fillColor {id=fill_color_tiles} + + + +### height {id=height_tiles} + + + +### width {id=width_tiles} + + + +### borderLine + + \ No newline at end of file diff --git a/docs/topics/apiRef/Histogram-API.md b/docs/topics/apiRef/Histogram-API.md index 8e0dbd89..8f571473 100644 --- a/docs/topics/apiRef/Histogram-API.md +++ b/docs/topics/apiRef/Histogram-API.md @@ -1,3 +1,110 @@ # histogram -## Properties \ No newline at end of file + +

    +histogram( +x: +, +weights: + = null, +binsOption: +BinsOption = BinsOption.byNumber(20), +binsAlign: +BinsAlign = BinsAlign.center(0.0)) { this: HistogramLayerContext ->

    + +} +} +
    + +The `histogram` adds a histogram layer +function optionally creates a new context with [bars](https://kotlin.github.io/kandy/bars-api.html) aesthetics and new dataset +which contains the "bin" statistic calculated on sample of a single numeric variable [x](#x). +In this context, all required aesthetics are assigned by default but can be overridden. + +A histogram is a statistical chart that serves to visually +approximate the distribution of a numerical variable. +It's a bar plot where each bar is representing a bin: +its x coordinate is corresponding to bin range and y to count. + +## Arguments + +### x + + + +### weights + + + +### binsOption + + + +### binsAlign + + + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<Double>

    +

    The Stat.x contains centers of bins. +

    + +### Stat.count + +

    Column<Int>

    +

    The Stat.count contains numbers of observations in this bin. +

    + +### Stat.countWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted count (sum of observations weights in this bin). +Without weights its values matches Stat.count values. +

    + +### Stat.density + +

    Column<Double>

    +

    The Stat.count contains empirically estimated density in bins. +

    + +### Stat.densityWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted density. +Without weights its values matches Stat.density values. +

    + +## Bars Aesthetic properties + +See [bars](https://kotlin.github.io/kandy/bars-api.html). + +### x {id="x_bars"} + + + +### y {id="y_bars"} + + + +### alpha {id="alpha_bars"} + + + +### width {id="width_bars"} + + + +### fillColor {id="fill_color_bars"} + + + +### borderLine + + diff --git a/docs/topics/apiRef/Line-API.md b/docs/topics/apiRef/Line-API.md index fedb52b2..f45322c5 100644 --- a/docs/topics/apiRef/Line-API.md +++ b/docs/topics/apiRef/Line-API.md @@ -2,58 +2,33 @@

    line { this: LineContext ->

    - -
  • -x Positional - -
  • -
  • -y Positional - -
  • -
  • -alpha NonPositional - -
  • -
  • -width NonPositional - -
  • -
  • -color NonPositional - -
  • -
  • -type NonPositional - -
  • -
    + }
    ## Properties -### x +### x {id=x_line} -### y +### y {id=y_line} -### alpha +### alpha {id=alpha_line} -### width +### width {id=width_line} -### color +### color {id=color_line} -### type +### type {id=type_line} diff --git a/docs/topics/apiRef/Points-API.md b/docs/topics/apiRef/Points-API.md index 3e05594d..5b5aec47 100644 --- a/docs/topics/apiRef/Points-API.md +++ b/docs/topics/apiRef/Points-API.md @@ -2,74 +2,40 @@

    points { this: PointsContext ->

    - -
  • -x Positional - -
  • -
  • -y Positional - -
  • - -
  • -alpha NonPositional - -
  • -
  • -symbol NonPositional -(Iterable | Column | String) | Symbol -
  • -
  • -color NonPositional - -
  • -
  • -fillColor NonPositional - -
  • -
  • -size NonPositional - -
  • -
  • -stroke NonPositional -(Iterable | Column | String) | Number -
  • -
    + }
    ## Properties -### x +### x {id=x_points} -### y +### y {id=y_points} -### alpha +### alpha {id=alpha_points} -### symbol +### symbol {id=symbol_points} -### color +### color {id=color_points} -### fillColor +### fillColor {id=fill_color_points} -### size +### size {id=size_points} -### stroke +### stroke {id=stroke_points} - + \ No newline at end of file diff --git a/docs/topics/apiRef/SmoothLine-API.md b/docs/topics/apiRef/SmoothLine-API.md index fc12528c..d5b6bb78 100644 --- a/docs/topics/apiRef/SmoothLine-API.md +++ b/docs/topics/apiRef/SmoothLine-API.md @@ -1,3 +1,129 @@ # smoothLine -## Properties \ No newline at end of file + +

    +smoothLine( +x: +, +y: +, +method: SmoothMethod = SmoothMethod.LOESS(), +smootherPointCount: Int = 100 +) { this: SmoothLineLayerContext ->

    + +} +
    + +The `smoothLine` adds a smoothed line layer +function optionally creates a new context with [line](https://kotlin.github.io/kandy/line-api.html) +aesthetics and new dataset +which contains the "smooth" statistic calculated on sample of points +(two numeric variables [x](#x) and [y](#y)). +In this context, all required aesthetics are assigned by default but can be overridden. + +It makes the line smoother through regression and sampling new points. + + +## Arguments + +### x + + + +### y + + + + +### method + +

    Optional

    +

    SmoothMethod

    +

    +The method argument is used to specify +the smoothing method.

    + + +
  • +SmoothMethod.Linear(confidenceLevel: Double) - linear model; +
  • +
  • +SmoothMethod.Polynomial(degree: Int, confidenceLevel: Double) - polynomial model; +
  • +
  • +SmoothMethod.LOESS(span: Double, loessCriticalSize: Int, samplingSeed: Long, confidenceLevel: Double) +- Local Polynomial Regression model. +
  • +
    + +### smootherPointCount + +

    Optional

    +

    Int

    +

    +The n argument is used to specify +the number of sampled points. +

    + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<Double>

    +

    The Stat.x contains points x-coordinate. +

    + +### Stat.y + +

    Column<Double>

    +

    The Stat.y contains points y-coordinate. +

    + +### Stat.yMin + +

    Column<Double>

    +

    The Stat.yMin lower point-wise confidence interval around the mean in this point. +

    + +### Stat.yMax + +

    Column<Double>

    +

    The Stat.yMax upper point-wise confidence interval around the mean in this point. +

    + +### Stat.se + +

    Column<Double>

    +

    The Stat.se contains standard error in this point. +

    + +## Line properties + +See [line](https://kotlin.github.io/kandy/line-api.html). + +### x {id=x_line} + + + +### y {id=y_line} + + + +### alpha {id=alpha_line} + + + +### width {id=width_line} + + + +### color {id=color_line} + + + +### type {id=type_line} + + diff --git a/docs/topics/apiRef/StatBin-API.md b/docs/topics/apiRef/StatBin-API.md index 5d450a89..67996a0d 100644 --- a/docs/topics/apiRef/StatBin-API.md +++ b/docs/topics/apiRef/StatBin-API.md @@ -1 +1,79 @@ -# statBin \ No newline at end of file +# statBin + + +

    +statBin( +x: +, +weights: + = null, +binsOption: +BinsOption = BinsOption.byNumber(20), +binsAlign: +BinsAlign = BinsAlign.center(0.0)) { this: StatBinContext ->

    + +} +
    + +The `statBin` function creates a new plotting context with new dataset +which contains the "bin" statistic calculated on sample of a single numeric variable [x](#x). +Firstly, it divides the range of values into bins (sequential, non-overlapping sections), +and then it counts the number of observations in each bin. +It's weighted, it means the weighted count for each bin is calculated +(each element within a bin counted along with its weight). +A bin-constructing methods can be configured. + +## Arguments + +### x + + + +### weights + + + +### binsOption + + + +### binsAlign + + + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<Double>

    +

    The Stat.x contains centers of bins. +

    + +### Stat.count + +

    Column<Int>

    +

    The Stat.count contains numbers of observations in this bin. +

    + +### Stat.countWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted count (sum of observations weights in this bin). +Without weights its values matches Stat.count values. +

    + +### Stat.density + +

    Column<Double>

    +

    The Stat.count contains empirically estimated density in bins. +

    + +### Stat.densityWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted density. +Without weights its values matches Stat.density values. +

    diff --git a/docs/topics/apiRef/StatBoxplot-API.md b/docs/topics/apiRef/StatBoxplot-API.md index 03381e63..58a52fa1 100644 --- a/docs/topics/apiRef/StatBoxplot-API.md +++ b/docs/topics/apiRef/StatBoxplot-API.md @@ -1 +1,96 @@ -# statBoxplot \ No newline at end of file +# statBoxplot + + +

    +statBoxplot<X>>( +x: +, +y: +, +whiskerIQRRatio: +Double = 1.5){ this: StatBoxplotContext ->

    + +} +
    + +The `statBoxplot` function creates a new plotting context with new dataset +which contains the "boxplot" statistic calculated on sample of a single numeric variable [y](#y) +in several groups defined by [x](#x). It serves as a statistical visualization technique, +illustrating the distribution and summary statistics of a dataset in a graphical format. + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### x + +

    Required

    +

    +Iterable +Column +String +

    +

    The x argument is used to provide the +x-categories of sample (one boxplot will be counted for each category). +

    + +### y + +

    Required

    +

    +Iterable +Column +String +

    +

    The y argument is used to provide the sample on which the statistic is computed. +

    + +### whiskerIQRRatio + +

    Optional

    +

    Double

    +

    The whiskerIQRRatio argument is used to determine the +interquartile range multiplier of whiskers lengths.

    + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains boxplot x category. +

    + +### Stat.min + +

    Column<Double>

    +

    The Stat.min contains lower whisker ends - the minimum non-outlier data point. +

    + +### Stat.lower + +

    Column<Double>

    +

    The Stat.lower contains lower box edges - the first quartile (Q1). +

    + +### Stat.middle + +

    Column<Double>

    +

    The Stat.middle contains medians - the second quartile (Q2). +

    + +### Stat.upper + +

    Column<Double>

    +

    The Stat.upper contains upper box edges - the third quartile (Q3). +

    + +### Stat.max + +

    Column<Double>

    +

    The Stat.upper contains upper whisker ends - the maximum non-outlier data point. +

    diff --git a/docs/topics/apiRef/StatCandlestick-API.md b/docs/topics/apiRef/StatCandlestick-API.md new file mode 100644 index 00000000..f42fcf34 --- /dev/null +++ b/docs/topics/apiRef/StatCandlestick-API.md @@ -0,0 +1,147 @@ +# statCandlestick + + +

    +statCandlestick<X>>( +x: +, +open: +, +high: +, +low: +, +close: + +{ this: StatCandlestickContext ->

    + +} +
    + +The `statCandlestick` function creates a new plotting context with new dataset +which contains the "candlestick" statistic calculated on sample of four numeric variables +([open](#open), [high](#high), [low](#low), [close](#close)) +in several groups defined by [x](#x). +This statistic is used to plot financial data, showing the increase or decrease in value. + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### x + +

    Required

    +

    +Iterable<X> +Column<X> +String +

    +

    The x argument is used to provide the +x-categories of candle. +

    + +### open + +

    Required

    +

    +Iterable +Column +String +

    +

    The open argument is used to provide the +opening value of candle. +

    + +### high + +

    Required

    +

    +Iterable +Column +String +

    +

    The high argument is used to provide the +high (maximum) value of candle. +

    + +### low + +

    Required

    +

    +Iterable +Column +String +

    +

    The low argument is used to provide the +low (minimum) value of candle. +

    + +### close + +

    Required

    +

    +Iterable +Column +String +

    +

    The close argument is used to provide the +closing value of candle. +

    + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains candle x category. +

    + +### Stat.open + +

    Column<Double>

    +

    The Stat.open contains candle open. Equals to input open. +

    + +### Stat.close + +

    Column<Double>

    +

    The Stat.close contains candle close. Equals to input close. +

    + +### Stat.min + +

    Column<Double>

    +

    The Stat.min contains candle minimum. Equals to input low. +

    + +### Stat.lower + +

    Column<Double>

    +

    The Stat.lower contains lower candle edges (i.e. +smaller of open/close). +

    + +### Stat.upper + +

    Column<Double>

    +

    The Stat.upper contains upper candle edges (i.e. +greater of open/close). +

    + +### Stat.max + +

    Column<Double>

    +

    The Stat.min contains candle maximum. Equals to input high. +

    + +### Stat.isIncreased + +

    Column<Boolean>

    +

    The Stat.isIncreased contains candle increase indicator: +true if close value is greater than open value. +

    diff --git a/docs/topics/apiRef/StatCount-API.md b/docs/topics/apiRef/StatCount-API.md index 4cf7e3cf..add2f56f 100644 --- a/docs/topics/apiRef/StatCount-API.md +++ b/docs/topics/apiRef/StatCount-API.md @@ -1 +1,58 @@ -# statCount \ No newline at end of file +# statCount + + +

    +statCount<X>( +x: +, +weights: + = null +) { this: StatCountContext ->

    + +} +
    + +The `statCount` function creates a new plotting context with new dataset +which contains the "count" statistic calculated on sample of a single categorical variable [x](#x). +It counts the number of observations in each category. +It's weighted, it means the weighted count for each category is calculated +(each element within a category is counted along with its weight). + + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### x + + + +### weights + + + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains categories. +

    + +### Stat.count + +

    Column<Int>

    +

    The Stat.count contains number of observations in this category +

    + +### Stat.countWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted count (sum of weights in this category). +Without weights its values matches Stat.count values. +

    diff --git a/docs/topics/apiRef/StatCount2D-API.md b/docs/topics/apiRef/StatCount2D-API.md index 3693720c..f2d5aa1f 100644 --- a/docs/topics/apiRef/StatCount2D-API.md +++ b/docs/topics/apiRef/StatCount2D-API.md @@ -1 +1,76 @@ -# statCount2D \ No newline at end of file +# statCount2D + + +

    +statCount2D<X> +<Y> +( +x: +, +y: +, +weights: + = null +) { this: StatCount2DContext ->

    + +} +
    + +The `statCount2D` function creates a new plotting context with new dataset +which contains the "count2D" statistic calculated on sample of a two categorical variable [x](#x) and [y](#y). +It counts the number of observations in each pair of x-category and y-category. +It's weighted, it means the weighted count for each pair is calculated +(each element within a pair is counted along with its weight). + +## Arguments + +### X {id=xtype} + +

    Type of x categories

    + +### Y {id=ytype} + +

    Type of y categories

    + +### x + + + +### y + + + +### weights + + + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<X>

    +

    The Stat.x contains x-part of categories. +

    + +### Stat.y + +

    Column<Y>

    +

    The Stat.x contains y-part categories. +

    + +### Stat.count + +

    Column<Int>

    +

    The Stat.count contains number of observations in this category +(each one is specified by its x- and y- part) +

    + +### Stat.countWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted count (sum of weights in this category). +Without weights its values matches Stat.count values. +

    diff --git a/docs/topics/apiRef/StatDensity-API.md b/docs/topics/apiRef/StatDensity-API.md index a5336bd0..a4a1e7b2 100644 --- a/docs/topics/apiRef/StatDensity-API.md +++ b/docs/topics/apiRef/StatDensity-API.md @@ -1 +1,159 @@ -# statDensity \ No newline at end of file +# statDensity + + +

    +statDensity( +x: +, +weights: + = null, +n:Int = 512, +trim:Boolean = false, +adjust:Double = 1.0, +kernel: Kernel = Kernel.GAUSSIAN, +fullScanMax: Int = 5000, +bandWidth: BandWidth = BandWidth.Method.NRD0, +) { this: StatDensityContext ->

    + +} +
    + +The `statDensity` function creates a new plotting context with new dataset +which contains the "density" statistic calculated on sample of a single numeric variable [x](#x). +It approximates the Probability Density Function (PDF) of this sample. +"Density" statistic samples this function points +It's weighted, it means the counted density depends on observation weights. + +## Arguments + +### x + + + +### weights + + + +### n + +

    Optional

    +

    Double

    +

    +The n argument is used to specify +the number of sampled points. +

    + +### trim + +

    Optional

    +

    Boolean

    +

    +The n argument is used to specify +the range of density calculation for grouped data: if false, each density is computed on the +full range of the data, +if true, each density is computed over the range of that group (only for grouped inputs). +

    + +### adjust + +

    Optional

    +

    Double

    +

    +The adjust argument is used to adjust the value of +bandwidth by multiplying it; changes how smooth the frequency curve is. +

    + +### kernel + +

    Optional

    +

    Kernel

    +

    +The kernel argument is used to adjust the kernel used to calculate the density function. +

    + + +
  • +

    Kernel.GAUSSIAN;

    +
  • +
  • +

    Kernel.RECTANGULAR;

    +
  • +
  • +

    Kernel.TRIANGULAR;

    +
  • +
  • +

    Kernel.BIWEIGHT;

    +
  • +
  • +

    Kernel.EPANECHNIKOV;

    +
  • +
  • +

    Kernel.OPTCOSINE.

    +
  • +
    + +### fullScanMax + +

    Optional

    +

    Int

    +

    +The adjust argument is used to specify the maximum size of data to use density computation with +"full scan". For bigger data, less accurate but more efficient density computation is applied. +

    + +### bandWidth + +

    Optional

    +

    BandWidth

    +

    +The bandWidth argument is used to adjust the method (or exact value) of bandwidth: +

    + + +
  • +

    BandWidth.Method.NRD;

    +
  • +
  • +

    BandWidth.Method.NRD0;

    +
  • +
  • +

    BandWidth.value(value: Double).

    +
  • +
    + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<Double>

    +

    The Stat.x contains points x-coordinate. +

    + +### Stat.density + +

    Column<Double>

    +

    The Stat.density contains estimated density in points. +

    + +### Stat.densityWeighted + +

    Column<Double>

    +

    The Stat.densityWeighted contains weighted density. +Without weights its values matches Stat.density values. +

    + +### Stat.scaled + +

    Column<Double>

    +

    The Stat.count contains estimated density scaled to maximin of 1.0.. +

    + +### Stat.scaledWeighted + +

    Column<Double>

    +

    The Stat.countWeighted contains weighted scaled density. +Without weights its values matches Stat.scaled values. +

    diff --git a/docs/topics/apiRef/StatSmooth-API.md b/docs/topics/apiRef/StatSmooth-API.md index 8aaa4e62..b2410749 100644 --- a/docs/topics/apiRef/StatSmooth-API.md +++ b/docs/topics/apiRef/StatSmooth-API.md @@ -1 +1,95 @@ -# statSmooth \ No newline at end of file +# statSmooth + + +

    +statSmooth( +x: +, +y: +, +method: SmoothMethod = SmoothMethod.LOESS(), +smootherPointCount: Int = 100 +) { this: StatSmoothContext ->

    + +} +
    + +The `statSmooth` function creates a new plotting context with new dataset +which contains the "smooth" statistic calculated on sample of points (two numeric variables [x](#x) and [y](#y)). +It interpolates data points to create a smoother curve. + +## Arguments + +### x + + + +### y + + + + +### method + +

    Optional

    +

    SmoothMethod

    +

    +The method argument is used to specify +the smoothing method.

    + + +
  • +SmoothMethod.Linear(confidenceLevel: Double) - linear model; +
  • +
  • +SmoothMethod.Polynomial(degree: Int, confidenceLevel: Double) - polynomial model; +
  • +
  • +SmoothMethod.LOESS(span: Double, loessCriticalSize: Int, samplingSeed: Long, confidenceLevel: Double) +- Local Polynomial Regression model. +
  • +
    + +### smootherPointCount + +

    Optional

    +

    Int

    +

    +The n argument is used to specify +the number of sampled points. +

    + +## Statistic properties + +In this context, there are the following statistical properties that can be used +to create mappings, customize tooltips, etc. + +### Stat.x + +

    Column<Double>

    +

    The Stat.x contains points x-coordinate. +

    + +### Stat.y + +

    Column<Double>

    +

    The Stat.y contains points y-coordinate. +

    + +### Stat.yMin + +

    Column<Double>

    +

    The Stat.yMin lower point-wise confidence interval around the mean in this point. +

    + +### Stat.yMax + +

    Column<Double>

    +

    The Stat.yMax upper point-wise confidence interval around the mean in this point. +

    + +### Stat.se + +

    Column<Double>

    +

    The Stat.se contains standard error in this point. +

    diff --git a/docs/topics/apiRef/Tiles-API.md b/docs/topics/apiRef/Tiles-API.md index 8c3fc8a2..d338843f 100644 --- a/docs/topics/apiRef/Tiles-API.md +++ b/docs/topics/apiRef/Tiles-API.md @@ -2,93 +2,33 @@

    tiles { this: TilesContext ->

    - -
  • -x Positional - -
  • -
  • -y Positional - -
  • -
  • -alpha NonPositional - -
  • -
  • -fillColor NonPositional - -
  • -
  • -height NonPositional - -
  • -
  • -width NonPositional - -
  • -
  • - -
  • -
    + }
    ## Properties -### x +### x {id=x_tiles} -### y +### y {id=y_tiles} -### alpha +### alpha {id=alpha_tiles} -### fillColor +### fillColor {id=fill_color_tiles} -### height - -

    - Optional - NonPositional -

    -

    - Iterable - Column - String - Double -

    - -The `height` aesthetic is fundamental in plotting tile-like elements, -offering control over the vertical dimension of these elements within the plot. -This aesthetic allows for precise adjustment of the height of tiles, -crucial for visualizing data in formats like heatmaps or tile-based visualizations -where the height of each tile may represent a value or category. - -**Setting** - -* `height = Double`: directly assigns a fixed height to all tile-like plot elements, providing a uniform appearance - across the plot. - This is particularly useful for standardizing the presentation of data when the differentiation is - conveyed through other aesthetics like color. - Example: `height = 3.5` sets a uniform height of 3.5 units for all tiles in the plot. - -**Mapping** - -* `height(Iterable)`: dynamically sets the height of tiles based on values from an iterable collection, allowing the - height of each tile to vary according to the iterable's values. -* `height(ColumnReference | KProperty | DataColumn)`: links the height of tiles to a DataFrame column, enabling the - visualization of data-driven heights for each tile. -* `height(String)`: associates the height of tiles with data based on the column name in the DataFrame or by key in a - Map, offering flexibility in data representation through tile height. - -### width +### height {id=height_tiles} + + + +### width {id=width_tiles} diff --git a/docs/topics/apiRef/arguments.topic b/docs/topics/apiRef/arguments.topic new file mode 100644 index 00000000..8c504340 --- /dev/null +++ b/docs/topics/apiRef/arguments.topic @@ -0,0 +1,119 @@ + + + + + + Iterable | Column | String + + + + Iterable<X> | Column<X> | String + + + + Iterable<Y> | Column<Y> | String + + + +

    + Required +

    +

    + Iterable + Column + String +

    + +

    + The x argument is used to provide the + sample (or its x-part) on which the statistic is computed. +

    +
    + + +

    + Required +

    +

    + Iterable + Column + String +

    + +

    + The y argument is used to provide the + y-part of the sample on which the statistic is computed. +

    +
    + + +

    + Optional +

    +

    + Iterable + Column + String +

    + +

    + The weights argument is used to provide the weights of + sample elements. +

    +
    + + +

    + Optional +

    +

    + BinsOption +

    + +

    + The binsOption argument is used to determine + whether bins are created by their total number or by their width. +

    + +
  • +

    BinsOption.byNumber(n: Int): values are divided into n bins + (bins width is derived).

    +
  • +
  • +

    BinsOption.byWidth(width: Double): values are divided into bins + of the width (the number of bins is derived).

    +
  • +
    +
    + + +

    + Optional +

    +

    + BinsAlign +

    + +

    + The binsAlign argument is used to specify + bins aligning. +

    + +
  • +

    BinsAlign.center(pos: Double): bins are aligned by + centering bin in pos.

    +
  • +
  • +

    BinsAlign.boundary(pos: Double): bins are aligned by + boundary between two bins in pos.

    +
  • +
  • +

    BinsAlign.none(): no aligning.

    +
  • +
    +
    + +
    \ No newline at end of file diff --git a/docs/topics/apiRef/interfaces.topic b/docs/topics/apiRef/interfaces.topic new file mode 100644 index 00000000..98dca385 --- /dev/null +++ b/docs/topics/apiRef/interfaces.topic @@ -0,0 +1,272 @@ + + + + + + +
  • + x Positional + +
  • +
  • + y Positional + +
  • + +
  • + alpha NonPositional + +
  • +
  • + symbol NonPositional + (Iterable | Column | String) | Symbol +
  • +
  • + color NonPositional + +
  • +
  • + fillColor NonPositional + +
  • +
  • + size NonPositional + +
  • +
  • + stroke NonPositional + (Iterable | Column | String) | Number +
  • +
    +
    + + + +
  • + x Positional + +
  • +
  • + lower Positional + +
  • +
  • + middle Positional + +
  • +
  • + upper Positional + +
  • +
  • + yMin Positional + +
  • +
  • + yMax Positional + +
  • + +
  • + alpha NonPositional + +
  • +
  • + width NonPositional + +
  • +
  • + fillColor NonPositional + +
  • +
  • + fatten NonPositional + Double +
  • +
  • + +
  • +
  • + y + +
  • +
    +
    + + + +
  • + + x + + Positional + +
  • +
  • + + y + + Positional + +
  • +
  • + + alpha + + NonPositional + +
  • +
  • + + fillColor + + NonPositional + +
  • +
  • + +
  • +
    + +
    + + + +
  • + + x + + Positional + +
  • +
  • + + y + + Positional + +
  • +
  • + + alpha + + NonPositional + +
  • +
  • + + width + + NonPositional + +
  • +
  • + + color + + NonPositional + +
  • +
  • + + type + + NonPositional + +
  • +
    + +
    + + + +
  • + + x + + Positional + +
  • +
  • + + y + + Positional + +
  • +
  • + + alpha + + NonPositional + +
  • +
  • + + fillColor + + NonPositional + +
  • +
  • + +
  • +
    + +
    + + + +
  • + + x + + Positional + +
  • +
  • + + y + + Positional + +
  • +
  • + + alpha + + NonPositional + +
  • +
  • + + fillColor + + NonPositional + +
  • +
  • + + height + + NonPositional + +
  • +
  • + + width + + NonPositional + +
  • +
  • + +
  • +
    + +
    + +
    \ No newline at end of file diff --git a/docs/topics/apiRef/properties.topic b/docs/topics/apiRef/properties.topic index 5de36947..07e3ba77 100644 --- a/docs/topics/apiRef/properties.topic +++ b/docs/topics/apiRef/properties.topic @@ -13,6 +13,10 @@ (Iterable | Column | String) | Double in 0.0..1.0 + + Double in 0.0..1.0 + + (Iterable | Column | String) | Color @@ -73,6 +77,19 @@

    + +

    + Has default mapping + Positional +

    +

    + Iterable + Column + String + Any +

    +
    +

    Optional @@ -573,11 +590,7 @@ - -

    - Required - Positional -

    +

    Iterable Column @@ -625,6 +638,22 @@ + +

    + Required + Positional +

    + +
    + + +

    + Has default mapping + Positional +

    + +
    +

    Optional @@ -655,6 +684,10 @@ Required Positional

    + +
    + +

    Iterable Column @@ -702,6 +735,14 @@ + +

    + Has default mapping + Positional +

    + +
    +

    Optional @@ -726,18 +767,7 @@ - -

    - Required - Positional -

    -

    - Iterable - Column - String - Any -

    - +

    The yMax aesthetic specifies the maximum y-coordinate for elements within plots, playing a critical role in defining the vertical extent of elements such as @@ -776,7 +806,7 @@ - +

    Required Positional @@ -788,13 +818,32 @@ Any

    + +
    + + +

    + Has default mapping + Positional +

    - The yMin aesthetic specifies the minimum y-coordinate for elements within plots, - crucial for defining the vertical lower bounds of elements such as boxes, crossbars, error bars, - line ranges, point ranges, rectangles, and ribbons. This aesthetic is fundamental in accurately portraying - the lower limits of data within these types of visualizations. + Iterable + Column + String + Any

    + +
    + + +

    + The yMin aesthetic specifies the minimum y-coordinate for elements within plots, + crucial for defining the vertical lower bounds of elements such as boxes, crossbars, error bars, + line ranges, point ranges, rectangles, and ribbons. This aesthetic is fundamental in accurately portraying + the lower limits of data within these types of visualizations. +

    +

    Setting

  • yMax.constant(Any): sets a uniform minimum y-coordinate across all relevant elements within @@ -826,6 +875,36 @@ + +

    + Required + Positional +

    +

    + Iterable + Column + String + Any +

    + + +
    + + +

    + Has default + Positional +

    +

    + Iterable + Column + String + Any +

    + + +
    +

    The borderLine group of aesthetics provides a comprehensive way to customize the appearance of @@ -863,4 +942,166 @@ + + +

    The lower aesthetic is specifically designed for use in box plots, where it represents the lower + quartile of the data. + This quartile marks the bottom edge of the box, indicating the value below which 25% of the data points + fall. + The lower aesthetic is critical for accurately displaying the distribution of data within a box + plot.

    +

    + Setting +

    + +
  • lower.constant(Any): directly sets the lower quartile value for all boxes in the plot. + This approach is useful for highlighting a specific threshold or for comparative analysis across + different datasets. + Example: lower.constant(0.7) uniformly sets the lower quartile to 0.7 for all boxes. +
  • +
    +

    + Mapping +

    + +
  • lower(Iterable): associates the lower quartile of each box with values from an iterable + collection. This method + allows for variable lower quartiles across boxes, useful for visualizing distributions from different + groups or + categories. +
  • +
  • lower(ColumnReference | KProperty | DataColumn): dynamically links the lower quartile of + boxes to a DataFrame + column. + This mapping is essential for directly visualizing the statistical properties of the dataset. +
  • +
  • lower(String): connects the lower quartile to data based on the column name in the + DataFrame or by key in a Map, + offering flexibility in data representation. +
  • +
    + +
    + + +

    The middle aesthetic is instrumental in visualizing the central tendency within box plots and + crossbars, + representing the median of the data in box plots and the central value in crossbars. + This aesthetic is key to conveying the central point around which the distribution or error bars are + constructed, + providing a clear visual indicator of the dataset's middle value.

    +

    + Setting +

    + +
  • middle.constant(Any): applies a fixed value for the median or central value across all + applicable elements within a + layer. + This method is useful for comparative analysis or highlighting specific median values across groups. + Example: middle.constant(1.1) uniformly sets the median or central value to 1.1 for all + elements. +
  • +
    +

    + Mapping +

    + +
  • middle(Iterable): links each element's median or central value to a value from an iterable + collection, allowing for + the visualization of variable middle points across different data groups or categories. +
  • +
  • middle(ColumnReference | KProperty | DataColumn): dynamically associates the median or + central value with a + DataFrame column, enabling the representation of data-driven median values. +
  • +
  • middle(String): connects the median or central value to data based on the column name in + the DataFrame or by key in + a Map, offering flexibility in representing central tendencies through data. +
  • +
    +
    + + +

    The upper aesthetic plays a crucial role in box plots by representing the upper quartile of the + dataset. + This quartile marks the top edge of the box, indicating the value above which 25% of the data points fall. + The upper aesthetic is essential for accurately displaying the spread and distribution of data + within a box plot.

    +

    + Setting +

    + +
  • upper.constant(Any): assigns a uniform upper quartile value across all boxes in the plot. + This method is beneficial for standardizing comparisons or highlighting specific thresholds across + datasets. + Example: upper.constant(1.5) sets a consistent upper quartile to 1.5 for all boxes. +
  • +
    +

    + Mapping +

    + +
  • upper(Iterable): each box's upper quartile is associated with a value from an iterable + collection, enabling the + visualization of varying upper quartiles across different data groups or categories. +
  • +
  • upper(ColumnReference | KProperty | DataColumn): dynamically links the upper quartile of + boxes to a DataFrame + column, allowing for the visualization of data-driven upper quartiles. +
  • +
  • upper(String): connects the upper quartile to data based on the column name in the + DataFrame or by key in a Map, + offering flexibility in representing upper limits through data. +
  • +
    + +
    + + +

    + Optional + NonPositional +

    +

    + Iterable + Column + String + Double +

    +

    The height aesthetic is fundamental in plotting tile-like elements, + offering control over the vertical dimension of these elements within the plot. + This aesthetic allows for precise adjustment of the height of tiles, + crucial for visualizing data in formats like heatmaps or tile-based visualizations + where the height of each tile may represent a value or category.

    +

    + Setting +

    + +
  • height = Double: directly assigns a fixed height to all tile-like plot elements, providing + a uniform appearance + across the plot. + This is particularly useful for standardizing the presentation of data when the differentiation is + conveyed through other aesthetics like color. + Example: height = 3.5 sets a uniform height of 3.5 units for all tiles in the plot. +
  • +
    +

    + Mapping +

    + +
  • height(Iterable): dynamically sets the height of tiles based on values from an iterable + collection, allowing the + height of each tile to vary according to the iterable's values. +
  • +
  • height(ColumnReference | KProperty | DataColumn): links the height of tiles to a DataFrame + column, enabling the + visualization of data-driven heights for each tile. +
  • +
  • height(String): associates the height of tiles with data based on the column name in the + DataFrame or by key in a + Map, offering flexibility in data representation through tile height. +
  • +
    + +
    \ No newline at end of file diff --git a/docs/topics/apiRef/statistics.topic b/docs/topics/apiRef/statistics.topic new file mode 100644 index 00000000..b782d5cb --- /dev/null +++ b/docs/topics/apiRef/statistics.topic @@ -0,0 +1,102 @@ + + + + + +

    + Double +

    + +

    + The Stat.x argument is used to provide the + sample (or its x-part) on which the statistic is computed. +

    +
    + + +

    + Required +

    +

    + Iterable + Column + String +

    + +

    + The y argument is used to provide the + y-part of the sample on which the statistic is computed. +

    +
    + + +

    + Optional +

    +

    + Iterable + Column + String +

    + +

    + The weights argument is used to provide the weights of + sample elements. +

    +
    + + +

    + Optional +

    +

    + BinsOption +

    + +

    + The binsOption argument is used to determine + whether bins are created by their total number or by their width. +

    + +
  • +

    BinsOption.byNumber(n: Int): values are divided into n bins + (bins width is derived).

    +
  • +
  • +

    BinsOption.byWidth(width: Double): values are divided into bins + of the width (the number of bins is derived).

    +
  • +
    +
    + + +

    + Optional +

    +

    + BinsAlign +

    + +

    + The binsAlign argument is used to specify + bins aligning. +

    + +
  • +

    BinsAlign.center(pos: Double): bins are aligned by + centering bin in pos.

    +
  • +
  • +

    BinsAlign.boundary(pos: Double): bins are aligned by + boundary between two bins in pos.

    +
  • +
  • +

    BinsAlign.none(): no aligning.

    +
  • +
    +
    + +
    \ No newline at end of file