StackedColumnWithStatisticalSignificance: Stacked Column with annotations

View source: R/stackedcolumnannot.R

StackedColumnWithStatisticalSignificanceR Documentation

Stacked Column with annotations

Description

Stacked Column charts with annotations showing statistical significance of z-Statistics or Column Comparisons

Usage

StackedColumnWithStatisticalSignificance(
  x,
  num.categories.below.axis = 0,
  transpose = FALSE,
  row.names.to.remove = "NET, SUM, Total",
  column.names.to.remove = "NET, SUM, Total",
  reverse.series.order = FALSE,
  colors = ChartColors(max(1, NCOL(x), na.rm = TRUE)),
  opacity = NULL,
  type = "Stacked",
  global.font.family = "Arial",
  global.font.color = rgb(44, 44, 44, maxColorValue = 255),
  font.unit = "px",
  annot.footer.show = TRUE,
  annot.arrow.size = 15,
  annot.arrow.colors = ChartColors(9, "Strong colors"),
  annot.arrow.offset = NULL,
  annot.arrow.symbols = c("↑", "↓", "⇡"),
  annot.sig.level = 0.05,
  annot.legend.sep = " · ",
  append.annot.differences.to.datalabel = FALSE,
  annot.differences.show = TRUE,
  annot.differences.decimals = 0,
  annot.differences.prefix = "",
  annot.differences.suffix = "",
  annot.differences.sign.show = TRUE,
  annot.differences.font.family = global.font.family,
  annot.differences.font.color = global.font.color,
  annot.differences.font.size = 10,
  annot.differences.offset = NULL,
  annot.hide.small.bar = FALSE,
  column.totals.above.show = FALSE,
  column.totals.above.font.family = global.font.family,
  column.totals.above.font.color = global.font.color,
  column.totals.above.font.size = 10,
  column.totals.below.show = FALSE,
  column.totals.below.font.family = global.font.family,
  column.totals.below.font.color = global.font.color,
  column.totals.below.font.size = 10,
  title = "",
  title.font.family = global.font.family,
  title.font.color = global.font.color,
  title.font.size = 16,
  title.align = "center",
  subtitle = "",
  subtitle.font.family = global.font.family,
  subtitle.font.color = global.font.color,
  subtitle.font.size = 12,
  subtitle.align = "center",
  footer = "",
  footer.font.family = global.font.family,
  footer.font.color = global.font.color,
  footer.font.size = 8,
  footer.wrap = TRUE,
  footer.wrap.nchar = 150,
  footer.align = "center",
  background.fill.color = "transparent",
  background.fill.opacity = 1,
  charting.area.fill.color = background.fill.color,
  charting.area.fill.opacity = 0,
  legend.show = NA,
  legend.orientation = "Vertical",
  legend.wrap = TRUE,
  legend.wrap.nchar = 30,
  legend.position.x = NULL,
  legend.position.y = NULL,
  legend.fill.color = background.fill.color,
  legend.fill.opacity = 0,
  legend.border.color = rgb(44, 44, 44, maxColorValue = 255),
  legend.border.line.width = 0,
  legend.font.color = global.font.color,
  legend.font.family = global.font.family,
  legend.font.size = 10,
  legend.ascending = NA,
  hovertext.font.family = global.font.family,
  hovertext.font.size = 11,
  margin.top = NULL,
  margin.bottom = NULL,
  margin.left = NULL,
  margin.right = NULL,
  margin.inner.pad = NULL,
  margin.autoexpand = TRUE,
  grid.show = TRUE,
  y.title = "",
  y.title.font.color = global.font.color,
  y.title.font.family = global.font.family,
  y.title.font.size = 12,
  y.line.width = 0,
  y.line.color = rgb(0, 0, 0, maxColorValue = 255),
  y.tick.mark.length = 0,
  y.tick.mark.color = "transparent",
  y.bounds.minimum = NULL,
  y.bounds.maximum = NULL,
  y.tick.distance = NULL,
  y.zero = TRUE,
  y.zero.line.width = 3,
  y.zero.line.color = rgb(0, 0, 0, maxColorValue = 255),
  y.data.reversed = FALSE,
  y.grid.width = 1 * grid.show,
  y.grid.color = rgb(225, 225, 225, maxColorValue = 255),
  y.tick.show = TRUE,
  y.tick.suffix = "",
  y.tick.prefix = "",
  y.tick.format = "",
  y.hovertext.format = y.tick.format,
  y.tick.angle = NULL,
  y.tick.font.color = global.font.color,
  y.tick.font.family = global.font.family,
  y.tick.font.size = 10,
  x.title = "",
  x.title.font.color = global.font.color,
  x.title.font.family = global.font.family,
  x.title.font.size = 12,
  x.line.width = 0,
  x.line.color = rgb(0, 0, 0, maxColorValue = 255),
  x.tick.marks = "",
  x.tick.mark.length = 3,
  x.tick.mark.color = "transparent",
  x.bounds.minimum = NULL,
  x.bounds.maximum = NULL,
  x.tick.distance = NULL,
  x.zero = FALSE,
  x.zero.line.width = 0,
  x.zero.line.color = rgb(225, 225, 225, maxColorValue = 255),
  x.data.reversed = FALSE,
  x.grid.width = 0 * grid.show,
  x.grid.color = rgb(225, 225, 225, maxColorValue = 255),
  x.tick.show = TRUE,
  x.tick.suffix = "",
  x.tick.prefix = "",
  x.tick.format = "",
  x.hovertext.format = x.tick.format,
  x.tick.angle = NULL,
  x.tick.font.color = global.font.color,
  x.tick.font.family = global.font.family,
  x.tick.font.size = 10,
  x.tick.label.wrap = TRUE,
  x.tick.label.wrap.nchar = 21,
  marker.border.width = 1,
  marker.border.colors = colors,
  marker.border.opacity = NULL,
  tooltip.show = TRUE,
  modebar.show = FALSE,
  zoom.enable = TRUE,
  axis.drag.enable = FALSE,
  bar.gap = 0.5,
  data.label.show = FALSE,
  data.label.centered = TRUE,
  data.label.font.autocolor = FALSE,
  data.label.font.family = global.font.family,
  data.label.font.size = 10,
  data.label.font.color = global.font.color,
  data.label.format = "",
  data.label.prefix = "",
  data.label.suffix = "",
  data.label.threshold = NULL
)

Arguments

x

Input data may be a matrix or a vector, containing the height of the columns to be plotted, with the name/rownames used as the column names of the chart. Numeric and date labels will be parsed automatically.

num.categories.below.axis

Number of categories shown below x-axis pointing downwards.

transpose

Swaps the rows and columns of x. The rows and columns of the additional statistics used to create annotations are also respected. Note that PrepareData is not used before the function.

row.names.to.remove

Names of rows that are not shown in the chart.

column.names.to.remove

Names of columns that are not shown in the chart.

reverse.series.order

Reverse the order in which the data series are shown (i.e. the order of the columns in x).

colors

Character; a vector containing one or more colors specified as hex codes.

opacity

Opacity of bars as an alpha value (0 to 1).

type

One of "Column", "Stacked Column" or "100% Stacked Column"

global.font.family

Character; font family for all occurrences of any font attribute for the chart unless specified individually.

global.font.color

Global font color as a named color in character format (e.g. "black") or an a hex code.

font.unit

One of "px" of "pt". By default all font sizes are specified in terms of pixels ("px"). But changing this to "pt" will mean that the font sizes will be in terms points ("pt"), which will be consistent with font sizes in text boxes.

annot.footer.show

Append a description explaining annotations in chart footer.

annot.arrow.size

Size of the arrows in pixels.

annot.arrow.colors

A vector of colors for the arrows. For column comparisons, the number of colors should equal the number of columns. For z-Statistic, the colors are assigned to 'down' and 'up' arrows.

annot.arrow.offset

Horizontal offset (towards the right) of the arrows from the bars. If not specified, then it will be determined from bar.gap.

annot.arrow.symbols

A vector of three characters (or html symbols) used to show arrows. They are (in order): 1. Up arrow for z-Statistics and upper-case Column Comparisons 2. Down arrow for z-Statistics 3. Up arrow for lower-case Column Comparisons

annot.sig.level

Significance level above which arrows are shown next to the columns.

annot.legend.sep

The string used between different entries describing the annotation symbols in the legend. By default it is a space as it works with line-wrap etc. But "<br>" can also be a good option for readibility.

append.annot.differences.to.datalabel

Logical; Show difference statistics appended to the data labels (inside the bars).

annot.differences.show

Logical; whether to show the difference statistics if they are included in the input table.

annot.differences.decimals

Number of decimals shown in the difference annotations.

annot.differences.prefix

Option text to prepend to annot.differences.

annot.differences.suffix

Option text to append to annot.differences.

annot.differences.sign.show

Logical; whether to show the sign of the difference.

annot.differences.font.family

Font family of the differences annotations

annot.differences.font.color

Font color of the differences annotations

annot.differences.font.size

Font size of the differences annotations

annot.differences.offset

Horizontal offset (towards the right) of the difference annotation from the bars. If not specified, then it will be determined from bar.gap.

annot.hide.small.bar

Hide annotations (arrow and differences) when the bar is smaller than the proportion of total range (the proportion as specified by data.label.threshold.

column.totals.above.show

Show data labels containing the total of the categories above the x-axis.

column.totals.above.font.family

Font family of column.totals.above.

column.totals.above.font.color

Font color of column.totals.above.

column.totals.above.font.size

Font size of column.totals.above.

column.totals.below.show

Show data labels containing the total of the categories below the x-axis.

column.totals.below.font.family

Font family of column.totals.below.

column.totals.below.font.color

Font color of column.totals.below.

column.totals.below.font.size

Font size of column.totals.below.

title

Character; chart title.

title.font.family

Character; title font family. Can be "Arial Black", "Arial", "Comic Sans MS", "Courier New", "Georgia", "Impact", "Lucida Console", "Lucida Sans Unicode", "Marlett", "Symbol", "Tahoma", "Times New Roman", "Trebuchet MS", "Verdana", "Webdings"

title.font.color

Title font color as a named color in character format (e.g. "black") or a hex code.

title.font.size

Integer; Title font size; default = 10.

title.align

Horizontal alignment of title.

subtitle

Character

subtitle.font.family

Character; subtitle font family

subtitle.font.color

subtitle font color as a named color in character format (e.g. "black") or an a hex code.

subtitle.font.size

Integer; subtitle font size

subtitle.align

Horizontal alignment of subtitle.

footer

Character

footer.font.family

Character; footer font family

footer.font.color

footer font color as a named color in character format (e.g. "black") or an a hex code.

footer.font.size

Integer; footer font size

footer.wrap

Logical; whether the footer text should be wrapped.

footer.wrap.nchar

Number of characters (approximately) in each line of the footer when footer.wrap TRUE.

footer.align

Horizontal alignment of footer.

background.fill.color

Background color in character format (e.g. "black") or a hex code.

background.fill.opacity

Background opacity as an alpha value (0 to 1).

charting.area.fill.color

Charting area background color as a named color in character format (e.g. "black") or a hex code.

charting.area.fill.opacity

Charting area background opacity as an alpha value (0 to 1).

legend.show

Controls whether legend is shown. This can be a logical (TRUE or FALSE); or a string ("Show" or "Hide"). If it is TRUE or NA (the default), a legend will be shown only if there is more than one data series. To force a legend to be shown even with 1 data series, use "Show" instead.

legend.orientation

Character; One of 'Vertical' or 'Horizontal'

legend.wrap

Logical; whether the legend text should be wrapped.

legend.wrap.nchar

Number of characters (approximately) in each line of the legend when legend.wrap TRUE.

legend.position.x

A numeric controlling the position of the legend. Values range from -0.5 (left) to 1.5 (right).

legend.position.y

A numeric controlling the position of the legend. Values range from 0 (bottom) to 1 (top).

legend.fill.color

Legend fill color as a named color in character format (e.g. "black") or a hex code.

legend.fill.opacity

Legend fill opacity as an alpha value (0 to 1).

legend.border.color

Legend border color as a named color in character format (e.g. "black") or a hex code.

legend.border.line.width

Width in pixels of the border around the legend. 0 = no border.

legend.font.color

Legend font color as a named color in character format (e.g. "black") or a hex code.

legend.font.family

Character; legend font family.

legend.font.size

Integer; Legend font size.

legend.ascending

Logical; TRUE for ascending, FALSE for descending. By default, we set it to to FALSE if the chart is stacked and TRUE otherwise.

hovertext.font.family

Font family of hover text.

hovertext.font.size

Font size of hover text.

margin.top

Margin between plot area and the top of the graphic in pixels

margin.bottom

Margin between plot area and the bottom of the graphic in pixels

margin.left

Margin between plot area and the left of the graphic in pixels

margin.right

Margin between plot area and the right of the graphic in pixels

margin.inner.pad

Padding in pixels between plot proper and axis lines

margin.autoexpand

Logical; Whether extra space can be added to the margins to allow space for axis/legend/data labels or other chart elements.

grid.show

Logical; whether to show grid lines.

y.title

Character, y-axis title; defaults to chart input values; to turn off set to "FALSE".

y.title.font.color

y-axis title font color as a named color in character format (e.g. "black") or a hex code.

y.title.font.family

Character; y-axis title font family

y.title.font.size

Integer; y-axis title font size

y.line.width

y-axis line width in pixels (0 = no line).

y.line.color

y-axis line color as a named color in character format (e.g. "black") or a hex code.

y.tick.mark.length

Length of tick marks in pixels. Ticks are only shown when y.line.width > 0.

y.tick.mark.color

Color of tick marks (default transparent).

y.bounds.minimum

Minimum of range for plotting; For a date axis this should be supplied as a date string. For a categorical axis, the index of the category (0-based) should be used.

y.bounds.maximum

Maximum of range for plotting; NULL = no manual range set.

y.tick.distance

Distance between tick marks. Requires that y.bounds.minimum and y.bounds.maximum have been set.

y.zero

Whether the y-axis should include zero.

y.zero.line.width

Width in pixels of zero line;

y.zero.line.color

Color of horizontal zero line as a named color in character format (e.g. "black") or an rgb value (e.g. rgb(0, 0, 0, maxColorValue = 255)).

y.data.reversed

Logical; whether to reverse y-axis or not

y.grid.width

Width of y-grid lines in pixels; 0 = no line

y.grid.color

Color of y-grid lines as a named color in character format (e.g. "black") or a hex code.

y.tick.show

Whether to display the y-axis tick labels

y.tick.suffix

y-axis tick label suffix

y.tick.prefix

y-axis tick label prefix

y.tick.format

A string representing a d3 formatting code. See https://github.com/d3/d3/blob/master/API.md#number-formats-d3-format

y.hovertext.format

A string representing a d3 formatting code See https://github.com/d3/d3/blob/master/API.md#number-formats-d3-format

y.tick.angle

y-axis tick label angle in degrees. 90 = vertical; 0 = horizontal

y.tick.font.color

y-axis tick label font color as a named color in character format (e.g. "black") or an a hex code.

y.tick.font.family

Character; y-axis tick label font family

y.tick.font.size

Integer; y-axis tick label font size

x.title

Character, x-axis title; defaults to chart input values; to turn off set to "FALSE".

x.title.font.color

x-axis title font color as a named color in character format (e.g. "black") or an a hex code.

x.title.font.family

Character; x-axis title font family

x.title.font.size

Integer; x-axis title font size

x.line.width

x-axis line in pixels, 0 = no line

x.line.color

x-axis line color as a named color in character format (e.g. "black") or a hex code.

x.tick.marks

Character; whether and where to show tick marks on the x-axis. Can be "outside", "inside", "none"

x.tick.mark.length

Length of tick marks in pixels.

x.tick.mark.color

Color of tick marks.

x.bounds.minimum

Minimum of range for plotting; For a date axis this should be supplied as a date string. For a categorical axis, the index of the category (0-based) should be used.

x.bounds.maximum

Maximum of range for plotting; NULL = no manual range set. Must be greater than x.bounds.minimum

x.tick.distance

Tick mark distance in x-axis units between minimum and maximum for plotting; NULL = no manual range set.

x.zero

Whether the x-axis should include zero.

x.zero.line.width

Width in pixels of zero line.

x.zero.line.color

Color of horizontal zero (origin) line as a named color in character format (e.g. "black") or an rgb value (e.g. rgb(0, 0, 0, maxColorValue = 255)).

x.data.reversed

Logical; whether to reverse x-axis or not

x.grid.width

Width of y-grid lines in pixels; 0 = no line

x.grid.color

Color of y-grid lines as a named color in character format (e.g. "black") or a hex code.

x.tick.show

Whether to display the x-axis tick labels

x.tick.suffix

x-axis tick label suffix

x.tick.prefix

x-axis tick label prefix

x.tick.format

A string representing a d3 formatting code. See https://github.com/mbostock/d3/wiki/Formatting#numbers

x.hovertext.format

A string representing a d3 formatting code. See https://github.com/mbostock/d3/wiki/Formatting#numbers

x.tick.angle

x-axis tick label angle in degrees. 90 = vertical; 0 = horizontal

x.tick.font.color

X-axis tick label font color as a named color in character format (e.g. "black") or an a hex code.

x.tick.font.family

Character; x-axis tick label font family

x.tick.font.size

Integer; x-axis tick label font size

x.tick.label.wrap

Logical; whether to wrap long labels on the x-axis.

x.tick.label.wrap.nchar

Integer; number of characters in each line when label.wrap is TRUE.

marker.border.width

Width in pixels of border/line around series bars; 0 is no line

marker.border.colors

Character; a vector containing one or more colors specified as hex codes.

marker.border.opacity

Opacity of border around bars as an alpha value (0 to 1).

tooltip.show

Logical; whether to show a tooltip on hover.

modebar.show

Logical; whether to show the zoom menu buttons or not.

zoom.enable

Logical; whether to enable zoom on the chart. For Bar and Column charts with data labels it may be useful to turn off zoom because data labels and annotations can be misplace on zoom.

axis.drag.enable

Logical; whether to enable the user to drag along axes. This interaction is available when the cursor shows up as a double-headed arrow when hovering over an axis. It is turned off by default because it can sometimes cause problems with data labels and annotations. Also, is only used when zoom.enable = TRUE. Note that in similar functionality is already available using zoom.

bar.gap

Gap between adjacent bars with different coordinates in bar or column charts (in plot fraction).

data.label.show

Logical; whether to show data labels.

data.label.centered

Logical; whether data labels in Stacked Column charts should have the data labels vertically centered.

data.label.font.autocolor

Logical; Whether font color should be automatically determined. For Line and Radar charts, the data labels will colored in the series color. For stacked bar and column charts the data labels will be black or white depending on the color of the bar (which background the data label). For non-stacked bar and column charts, this option is ignored.

data.label.font.family

Character; font family for data label.

data.label.font.size

Integer; Font size for data label.px.

data.label.font.color

Font color as a named color in character format (e.g. "black") or an a hex code. This can be a single color, a vector of colors (1 for each series/column), or a comma separated list of colors

data.label.format

A string representing a d3 formatting code. See https://github.com/mbostock/d3/wiki/Formatting#numbers

data.label.prefix

Character; prefix for data values.

data.label.suffix

Character; suffix for data values.

data.label.threshold

The proportion of the total range below which data labels should not be displayed. Only applicable for pie, bar and column charts.

Examples

z <- structure(c(1L, 2L, 3L, 4L, 5L, 2L, 3L, 4L, 5L, 6L),  .Dim = c(5L, 2L),
      .Dimnames = list(c("T", "U", "V", "W", "X"), c("A", "B")))
Column(z, type="Stacked Column")

NumbersInternational/flipStandardCharts documentation built on Feb. 26, 2024, 5:43 a.m.