2015-11-12 2 views
1

Я хочу, чтобы ось y в регулярном plot() функция начала в нижней части участка, аналогичная функции hist(). Другими словами, я хотел бы иметь нули обеих осей на одном уровне. Вот мой рабочий примерR: Сделать ось графика, как на гистограмме

set.seed(1) 
data <- data.frame(
    type = as.factor(sample(c('A', 'B', 'C'), size = 100, replace = T)), 
    value = rexp(100, 1/3) 
) 
plot(data$type) 
par(new=TRUE) 
plot(tapply(data$value, data$type, mean), 
    xaxt="n", yaxt="n", xlab="", ylab="", 
    xlim=c(0.55,3.45), ylim=c(0, 5), bty='n', pch=24, bg='black') 
axis(4) 

Я пытался использовать параметр yaxs = 'i' в функции plot(), но он перемещается ось слишком низко. Есть ли какие-либо решения?

ответ

0

Найти один вариант

набор ylim в первом участке

попробовать

plot(data$type, yaxs = 'i',ylim=c(0,max(apply(data, 2, table)[[1]]))) 
par(new=TRUE) 
plot(tapply(data$value, data$type, mean), 
    xaxt="n", yaxt="n", xlab="", ylab="", 
    xlim=c(0.55,3.45), ylim=c(0, 5), bty='n', pch=24, bg='black',yaxs = 'i') 
axis(4) 
axis(1,at=c(0,5)) #only for show that one lvl 
Смежные вопросы