kandy 0.6.0 Help

histogram

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

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.

binsOption

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).

binsAlign

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.

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.

x

Has default mapping 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

Has default mapping 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.

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.

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: 13 May 2024