countPlot
The countPlot
adds a count-plot layer function optionally creates a new context with bars aesthetics and new dataset which contains the "count" statistic calculated on sample of a single categorical variable 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
Type of x categories
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.
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.
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 predefinedColor
constant likeColor.RED
or a custom color defined byColor.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
— Specifies the color of the borderline.borderLine.type
— Determines the style of the borderline.borderLine.width
— Controls the thickness of the 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 predefinedColor
constant likeColor.RED
or a custom color defined byColor.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 predefinedLineType
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.