曲线图直方图相对于轴的位置不正确 [英] ggplot histogram is not in the correct position with respect the axis
本文介绍了曲线图直方图相对于轴的位置不正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试以这种方式绘制直方图:
# 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
结果是:
但如您所见,y轴和直方图之间有一个空格。如何移动直方图以使其位置正确?推荐答案
若要使直方图与y轴对齐,可以在绘图中添加以下代码行:"BORDURE=0"
边界和中心都是仓位说明符。有关更多详细信息,我已经粘贴了ggplot2 reference guide中的描述。"对于单个绘图,只能指定一个中心或边界。中心指定其中一个条柱的中心。边界指定两个条柱之间的边界。请注意,如果其中一个位于数据范围的上方或下方,则将按宽度的适当整数倍进行移位。例如,要以整数居中,请使用Width=1和CENTER=0,即使0超出数据范围。或者,即使0.5超出数据范围,也可以指定相同的对齐方式。"
在这种情况下,通过指定BORDURE=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
现在您的绘图应该如下所示:
这篇关于曲线图直方图相对于轴的位置不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文