2015-11-12 217 views
1

我希望在常规plot()函数中的y轴开始于类似于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) 

我试图在plot()功能使用参数yaxs = 'i',但它移动的轴太低。有没有解决这个问题的方法?

回答

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