kandy 0.8.0-RC1 Help

densityPlot

The densityPlot adds a density-plot layer function optionally creates a new context with area aesthetics and new dataset which contains the "density" statistic calculated on sample of a single numeric variable 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

Required

Iterable Column String

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

weights

Optional

Iterable Column String

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

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.

x

Required Positional

Iterable Column String Any

The x aesthetic is foundational in plotting, representing the x-coordinate of elements within a plot. This aesthetic is crucial for positioning elements along the x-axis, thereby defining their placement within the plot's coordinate system.

Setting

  • x.constant(Any): Assigns a fixed x-coordinate to all elements within a layer, effectively positioning them at a specific point along the x-axis. This is useful for aligning elements across different layers or for creating reference lines. Example usage: x.constant(0.9) sets the x-coordinate of all applicable elements to 0.9.

Mapping

  • x(Iterable): Each element's x-coordinate is linked to a value from an iterable collection, enabling the representation of data variations along the x-axis.

  • x(ColumnReference | KProperty | DataColumn): element positions are associated with a DataFrame column, allowing for the visualization of data-driven positioning along the x-axis.

  • x(String): ties element positions to data based on the column name in the DataFrame or by a key in a Map, offering flexibility in data representation through x-coordinates.

Characteristics of the x aesthetic

  • Data Positioning — The x aesthetic is essential for determining where elements are placed along the x-axis, impacting how data is visualized and interpreted within the plot's spatial context.

  • Scaling — Proper use of the x aesthetic can significantly enhance the dynamism and readability of a plot, facilitating the effective communication of complex data patterns and relationships.

y

Required Positional

Iterable Column String Any

The y aesthetic is foundational in plotting, representing the y-coordinate of elements within a plot. This aesthetic is crucial for positioning elements along the y-axis, thereby defining their placement within the plot's coordinate system.

Setting

  • y.constant(Any): Assigns a fixed y-coordinate to all elements within a layer, effectively positioning them at a specific point along the y-axis. This is useful for aligning elements across different layers or for creating reference lines. Example usage: y.constant(13) sets the y-coordinate of all applicable elements to 13.

Mapping

  • y(Iterable): Each element's y-coordinate is linked to a value from an iterable collection, enabling the representation of data variations along the y-axis.

  • y(ColumnReference | KProperty | DataColumn): element positions are associated with a DataFrame column, allowing for the visualization of data-driven positioning along the y-axis.

  • y(String): ties element positions to data based on the column name in the DataFrame or by a key in a Map, offering flexibility in data representation through y-coordinates.

Characteristics of the y aesthetic

  • Data Positioning — The y aesthetic is essential for determining where elements are placed along the y-axis, impacting how data is visualized and interpreted within the plot's spatial context.

  • Scaling — Proper use of the y aesthetic can significantly enhance the dynamism and readability of a plot, facilitating the effective communication of complex data patterns and relationships.

alpha

Optional NonPositional

Iterable Column String Double

The alpha aesthetic controls the transparency of elements in a plot. It provides a means to adjust the visual prominence of elements, ranging from fully transparent (0.0) to fully opaque (1.0).

Setting

  • alpha = Double: applies a uniform transparency level to all elements within a layer. The Double value should be within the range of 0.0 (completely transparent) to 1.0 (completely opaque).

Mapping

  • alpha(Iterable): associates the transparency of each element with a value from an iterable collection.

  • alpha(ColumnReference | KProperty | DataColumn): links transparency with data from a specified DataFrame column.

  • alpha(String): transparency is associated with data from a DataFrame column specified by its name or with data from a Map by key.

Characteristics of the alpha aesthetic

  • Value range — It is crucial to ensure that all alpha values are within the 0.0 to 1.0 range. Values outside this range will trigger an IllegalArgumentException.

  • Scaling and validation — When mapping alpha to data, additional scaling adjustments and value validation ensure proper representation of transparency.

fillColor

Optional NonPositional

Iterable Column String Color

The fillColor aesthetic plays a crucial role in defining the visual representation of plot elements by setting their fill color. It allows for both uniform color application and data-driven color variations.

Setting

  • fillColor = Color: provides a uniform fill color to all elements within a layer, applicable for creating visually cohesive plot elements. The value can be a predefined Color constant like Color.RED or a custom color defined by Color.hex("#ff0000").

Mapping

  • fillColor(Iterable): associates the fill color of each element with a value from an iterable collection, allowing for a variety of fill colors within a single layer.

  • fillColor(ColumnReference | KProperty | DataColumn): links element fill colors with a column in the DataFrame, enabling the visualization of data-driven color variations.

  • fillColor(String): connects fill colors to data based on the column name in the DataFrame or by key in a Map, offering flexibility in data representation through color.

Characteristics of the fillColor aesthetic

  • Versatility in data representation — The fillColor aesthetic can be used to represent different categories, intensities, or other data dimensions, providing a rich layer of information in visualizations.

  • Scaling and validation — When mapping fillColor to data, you can customize the color scale and adjust the mapping to fit specific visualization needs.

borderLine

The borderLine group of aesthetics provides a comprehensive way to customize the appearance of borders around plot elements such as boxes, bars, and other geometries that support border customization. This set of aesthetics allows you to adjust the color, line type, and width of the borderlines to enhance the visual appeal and clarity of your plots.

Available aesthetics within borderLine:

borderLine.color

Optional NonPositional

Iterable Column String Color

The color aesthetic is a key feature in data visualization, allowing you to set the color of plot elements to enhance the interpretability and visual appeal of your graphs. This aesthetic facilitates both the differentiation of data points and the conveyance of additional data dimensions through color.

Setting

  • color = Color: assigns a uniform color to all elements within a layer. The value can be a predefined Color constant like Color.RED or a custom color defined by Color.hex("#ff0000").

Mapping

  • color(Iterable): links the color of each element to a value from an iterable collection, allowing for varied color assignments within a layer.

  • color(ColumnReference | KProperty | DataColumn): associates element colors with a column in the DataFrame, enabling data-driven color variations.

  • color(String): connects colors to data based on the column name in the DataFrame or by key in a Map, offering flexibility in data representation.

Characteristics of the color aesthetic

  • Versatility in data representation — The color aesthetic can be used to represent different categories, intensities, or other data dimensions, providing a rich layer of information in visualizations.

  • Scaling and validation — When mapping color to data, you can customize the color scale and adjust the mapping to fit specific visualization needs.

borderLine.type

Optional NonPositional

Iterable Column String LineType

The type aesthetic is used to specify the style of lines in a plot, allowing for a diverse range of visual representations. This aesthetic enables the customization of line styles, providing clarity and distinction in data visualizations.

Setting

  • type = LineType: applies a specific line style to lines within a layer. The value can be one of the predefined LineType constants:

    • LineType.BLANK

    • LineType.SOLID

    • LineType.DASHED

    • LineType.DOTTED

    • LineType.DOTDASH

    • LineType.LONGDASH

    • LineType.TWODASH

Mapping

  • type(Iterable): links the line style of each element to a value from an iterable collection, allowing for various line styles within a single layer.

  • type(ColumnReference | KProperty | DataColumn): associates line styles with a column in the DataFrame, facilitating data-driven line style variations.

  • type(String): connects line styles to data based on the column name in the DataFrame or by key in a Map, offering flexibility in line style representation.

borderLine.width

Optional NonPositional

Iterable Column String Double

The width aesthetic is crucial for adjusting the width of visual elements across various plot types, including bars, boxes, crossBars, errorBars, and tiles.

Setting

  • width = Double: Provides a uniform width to all applicable elements within a layer. The Double value is representation of width, for instance, width = 0.9 would set the width of elements to 0.9 units.

Mapping

  • width(Iterable): each element's width is associated with a value from an iterable collection, allowing for the representation of data variations through width differences.

  • width(ColumnReference | KProperty | DataColumn): element widths are linked to a DataFrame column, enabling visualization of data-driven width variations.

  • width(String): connects widths to data based on the column name in the DataFrame or by a key in a Map, providing flexibility in representing data through width.

Last modified: 15 July 2024