Я думаю, настройка ylim
, упомянутая @KamranEsmaeili, является стандартным решением. Здесь я представил хитрый способ, который не требует ручной установки верхнего предела 40.
multhist()
основан на встроенном barplot()
и всегда устанавливает нижний предел у- координата области построения меньше 0. Вы можете использовать par("usr")[3]
, чтобы проверить этот факт. Я только что придумал хитрый метод, который настраивает тип поля на "7"
, чтобы подавить нижнюю строку и добавить новую нижнюю строку на 0 на abline(h = 0)
.
library(plotrix)
set.seed(42)
a <- rnorm(100)
b <- rnorm(100) + 1
multhist(list(a,b))
#---------------------------------
box(bty = "7") # bty is one of "o"(default), "l", "7", "c", "u", and "]".
abline(h = 0)
Редактировать
Если вам не нравится правая линия, проходящая за осью x, вы можете заменить box()
с помощью rect()
, так что вы можете указать позиции четырех сторон самостоятельно. Не забудьте добавить xpd = TRUE
, иначе ширина линии будет выглядеть меньше, чем по оси Y.
multhist(list(a,b))
x <- par("usr")
rect(x[1], 0, x[2], x[4], xpd = TRUE)