将轴刻度与点阵直方图中的箱对齐
Align axis ticks with bins in a lattice histogram
我使用 Lattice 绘制直方图
histogram(~Time |factor(Bila), data=flexi2, xlim= c(5, 15), ylim=c(0, 57),
scales=list(x=list(at=seq(5,15,1))), xlab="Time",
subset=(Bila%in% c("")))`
我得到的 bin 与确切的时间不匹配,而我希望 bin 在确切的时间开始,例如 6,7 等。我使用 lattice 因为我想要条件直方图。我在这里只提取了一个直方图来说明。
更新:
这是一个可重现的例子(我希望如此),正如所要求的那样。可以看出,例如 0 不在 bin 的限制内。
x<-rnorm(1000)
histogram(~x)
发生这种情况是因为您使用 scales = list(x = list(at = 5:15))
指定了 x 轴刻度,但实际上并未更改断点。它也发生在默认情况下:默认轴标签是整数,但默认断点是通过编程确定的,不一定是整数,除非您有整数值数据。
一个简单的解决方法是在 breaks
参数中指定您自己的中断:
histogram(~Time |factor(Bila), data=flexi2, subset=(Bila %in% c("")),
xlim= c(5, 15), ylim=c(0, 57),
breaks = 5:15,
scales = list(x = list(at = 5:15)),
xlab="Time")
还有一个例子:
library(lattice)
x <- rnorm(1000)
x[abs(x) > 3] <- 3
x_breaks <- c(-3, -1.5, 0, 1.5, 3)
histogram(~ x,
title = "Defaults")
histogram(~ x, breaks = x_breaks,
title = "Custom bins, default tickmarks")
histogram(~ x, scales = list(x = list(at = x_breaks)),
title = "Custom tickmarks, default bins")
histogram(~ x, breaks = x_breaks, scales = list(x = list(at = x_breaks)),
title = "Custom tickmarks, custom bins")
我使用 Lattice 绘制直方图
histogram(~Time |factor(Bila), data=flexi2, xlim= c(5, 15), ylim=c(0, 57),
scales=list(x=list(at=seq(5,15,1))), xlab="Time",
subset=(Bila%in% c("")))`
我得到的 bin 与确切的时间不匹配,而我希望 bin 在确切的时间开始,例如 6,7 等。我使用 lattice 因为我想要条件直方图。我在这里只提取了一个直方图来说明。
更新: 这是一个可重现的例子(我希望如此),正如所要求的那样。可以看出,例如 0 不在 bin 的限制内。
x<-rnorm(1000)
histogram(~x)
发生这种情况是因为您使用 scales = list(x = list(at = 5:15))
指定了 x 轴刻度,但实际上并未更改断点。它也发生在默认情况下:默认轴标签是整数,但默认断点是通过编程确定的,不一定是整数,除非您有整数值数据。
一个简单的解决方法是在 breaks
参数中指定您自己的中断:
histogram(~Time |factor(Bila), data=flexi2, subset=(Bila %in% c("")),
xlim= c(5, 15), ylim=c(0, 57),
breaks = 5:15,
scales = list(x = list(at = 5:15)),
xlab="Time")
还有一个例子:
library(lattice)
x <- rnorm(1000)
x[abs(x) > 3] <- 3
x_breaks <- c(-3, -1.5, 0, 1.5, 3)
histogram(~ x,
title = "Defaults")
histogram(~ x, breaks = x_breaks,
title = "Custom bins, default tickmarks")
histogram(~ x, scales = list(x = list(at = x_breaks)),
title = "Custom tickmarks, default bins")
histogram(~ x, breaks = x_breaks, scales = list(x = list(at = x_breaks)),
title = "Custom tickmarks, custom bins")