gpt4 book ai didi

r - ggplot 直方图相对于 Axis 不在正确的位置

转载 作者:行者123 更新时间:2023-12-03 21:53:55 24 4
gpt4 key购买 nike

我试图以这种方式绘制直方图:

# Todo lo haremos con base en un variable aleatoria Uniforme(0,1).
set.seed(26) ; n = 10000
U<-runif(n = n)
# Supongamos que queremos simular de una exponencial.

# Función de distribución: F(X) = 1-exp(-lambda*X) = U
# Entonces, X = F^(-1)(X)= log(1-U)/(-lambda)
lambda = 1/6 # El parámetro de la exponencial que vamos a usar.
X <- log(1-U)/(-lambda)

library(ggplot2)
p <- qplot(X,
geom="histogram",
binwidth = 2,
main = "Histograma de X",
xlab = "Observaciones",
# La función "I" hace que no aparezca una descripción.
fill=I("yellow"),
col=I("blue"),
alpha=I(0.2),
xlim=c(0,50))+
geom_hline(yintercept = 0,col="red",lwd=1)+
geom_vline(xintercept = 0,col="red",lwd=1)
p

结果是:

enter image description here

但是正如您所看到的,y Axis 和直方图之间有一个空格。如何移动直方图以使其正确定位?

最佳答案

要使直方图与 y Axis 对齐,您可以在绘图中添加以下代码行:“boundary = 0”

Boundary 和 Center 都是 bin 位置说明符。有关更多详细信息,我已粘贴了 ggplot2 reference guide 中的描述。 . “对于单个图只能指定一个,中心或边界。中心指定一个箱的中心。边界指定两个箱之间的边界。请注意,如果高于或低于数据范围,事情将移动适当的宽度整数倍。例如,以整数为中心使用宽度 = 1 和中心 = 0,即使 0 超出数据范围。或者,可以使用宽度 = 1 和指定相同的对齐方式边界 = 0.5,即使 0.5 超出数据范围。”

在这种情况下,通过指定边界 = 0,您可以强制箱位置与图形的原点 (0,0) 对齐。

# Todo lo haremos con base en un variable aleatoria Uniforme(0,1).
set.seed(26) ; n = 10000
U<-runif(n = n)
# Supongamos que queremos simular de una exponencial.

# Función de distribución: F(X) = 1-exp(-lambda*X) = U
# Entonces, X = F^(-1)(X)= log(1-U)/(-lambda)
lambda = 1/6 # El parámetro de la exponencial que vamos a usar.
X <- log(1-U)/(-lambda)

library(ggplot2)
p <- qplot(X,
geom="histogram",
binwidth = 2,
boundary = 0, #This controls the bin alignment with the y-axis
main = "Histograma de X",
xlab = "Observaciones",
# La función "I" hace que no aparezca una descripción.
fill=I("yellow"),
col=I("blue"),
alpha=I(0.2),
xlim=c(0,50))+
geom_hline(yintercept = 0,col="red",lwd=1)+
geom_vline(xintercept = 0,col="red",lwd=1)
# geom_histogram(binwidth = 1, boundary = 0, closed = "left")
p

现在你的情节应该是这样的:

enter image description here

关于r - ggplot 直方图相对于 Axis 不在正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62226343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com