R:在直方图中制作绘图轴

R: Make plot axis as in histogram

我希望常规 plot() 函数中的 y 轴从绘图区域的底部开始,类似于 hist() 函数。换句话说,我希望两个轴的零点处于同一水平。这是我的工作示例

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',但它把轴移得太低了。有什么解决办法吗?

找到一个变体

在第一个情节中设置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