Функция boxplot()
после проверки синтаксиса входных аргументов вызывает функцию "bxp".Здесь вы можете увидеть аргументы, которые ему передаются:
if (plot) {
if (is.null(pars$boxfill) && is.null(args$boxfill))
pars$boxfill <- col
do.call("bxp", c(list(z, notch = notch, width = width,
varwidth = varwidth, log = log, border = border,
pars = pars, outline = outline, horizontal = horizontal,
add = add, at = at), args[namedargs]))
invisible(z)
}
Функция bxp
в свою очередь вызывает функцию «axis» и смотрит только на «xaxt», «yaxt», «xaxp»,Аргументы «yaxp», «las», «cex.axis», «col.axis» для рисования оси:
if (axes) {
ax.pars <- pars[names(pars) %in% c("xaxt", "yaxt", "xaxp",
"yaxp", "las", "cex.axis", "col.axis", "format")]
if (is.null(show.names))
show.names <- n > 1
if (show.names)
do.call("axis", c(list(side = 1 + horizontal, at = at,
labels = z$names), ax.pars))
do.call("Axis", c(list(x = z$stats, side = 2 - horizontal),
ax.pars))
}
Как видно из вышесказанного, нет параметров, которые могли бы изменитьсмещение X-меток, которые могут быть переданы в боксплот.
С ggplot
по умолчанию отображает метки так, как вы хотите:
df <- data.frame( x= as.factor(c({1:90} %% 3)), y = 1:90 )
ggplot(df,aes(x=x, y=y) ) +
geom_boxplot()+
scale_x_discrete(labels=c("A","B\nB","C\nCC\nCCC"))