Draw grouped axis labels given a character vector.
groupedAxis(
side = 1,
x,
group_style = c("partial_grouped", "grouped", "centered"),
las = 2,
returnFractions = TRUE,
nudge = 0.2,
do_abline = FALSE,
abline_lty = "solid",
abline_col = "grey40",
do_plot = TRUE,
...
)
integer
indicating the axis side, passed to axis()
.
1=bottom, 2=left, 3=top, 4=right.
character
vector of axis labels
character
string indicating the style of label:
"partial_grouped"
- uses square bracket to bound 2+ repeated entries,
and single line tick mark for non-repeated entries.
"grouped"
- uses square bracket to bound each set of repeated entries
including non-repeated entries.
"centered"
- only labels the center of each group of repeated entries
with no bracket bounding the entries.
integer
indicating whether labels should be perpendicular,
see par("las")
.
logical
passed to breaksByVector()
to calculate
label positions. Set returnFractions=FALSE
and all labels will only
appear at integer locations on the axis.
numeric
adjustment for labels away from the plot border.
logical
indicating whether to draw abline()
lines
inside the plot to indicate the exact breakpoints between each group
of labels.
line type compatible with par("lty")
, used when
do_abline=TRUE
.
character
color used when do_abline=TRUE
.
logical
whether to plot the resulting axis,
as an option to suppress the output and do something else
with the data.frame
of coordinates returned by this function.
additional arguments are passed to breaksByVector()
, and/or to
axis()
.
data.frame
invisibly, which contains the relevant axis
coordinates, labels, and whether the coordinate should
appear with a tick mark.
This function extends breaksByVector()
specifically for
axis labels. It is intended where character labels are spaced
at integer steps, and some labels are expected to be repeated.
Other jam plot functions:
adjustAxisLabelMargins()
,
coordPresets()
,
decideMfrow()
,
drawLabels()
,
getPlotAspect()
,
imageByColors()
,
imageDefault()
,
minorLogTicksAxis()
,
nullPlot()
,
plotPolygonDensity()
,
plotRidges()
,
plotSmoothScatter()
,
shadowText_options()
,
shadowText()
,
showColors()
,
smoothScatterJam()
,
sqrtAxis()
,
usrBox()
par("mar"=c(4,4,6,6));
b <- rep(LETTERS[1:5], c(2,3,5,4,3));
b2 <- c(b[1:2], makeNames(b[3:5]), b[6:16]);
nullPlot(doBoxes=FALSE,
doUsrBox=TRUE,
xlim=c(0,18),
ylim=c(0,18));
groupedAxis(1, b);
groupedAxis(2, b, group_style="grouped");
groupedAxis(2, b, group_style="centered");
groupedAxis(3, b2, do_abline=TRUE);
groupedAxis(4, b2, group_style="grouped");
mtext(side=1, "group_style='partial_grouped'", line=2, las=0);
mtext(side=2, "group_style='grouped'", line=2, las=0);
mtext(side=3, "group_style='partial_grouped'", line=2, las=0);
mtext(side=4, "group_style='grouped'", line=2, las=0);