复现代码有误,请问怎么解决

代码运行结果如第一幅图所示,但是自己运行结果并不是这幅图,请问是什么原因,怎么解决呢
5.11

using Random, Distributions, StatsPlots; pyplot()
Random.seed!(2)

alpha = 0.05
L(obs) = obs - (1-sqrt(alpha))
U(obs) = obs + (1-sqrt(alpha))

mu = 5.57
triDist = TriangularDist(mu-1,mu+1,mu)

N = 100
hitBounds, missBounds = zeros(N, 2), zeros(N,2)
for i in 1:N
	observation = rand(triDist)
	LL, UU = L(observation), U(observation)
	if LL <= mu && mu <= UU
		hitBounds[i,:] = [LL UU-LL]
	else
		missBounds[i,:] = [LL UU-LL]
	end
end

groupedbar(hitBounds, bar_position=:stack,
	c=:blue, la=0, label="", ylims=(3,8))
groupedbar!(missBounds, bar_position=:stack,
	c=:red, la=0, label="", ylims=(3,8))
plot!([0,N+1],[mu,mu],
	c=:black, xlims=(0,N+1),
	ylims=(3,8), label="Parameter value", ylabel="Value Estimate")

不同的Julia版本下,同样的seed不能保证生成的结果一致,所以有了这个包:GitHub - JuliaRandom/StableRNGs.jl: A Julia RNG with stable streams

1 个赞

很感谢你的回复,不过应该不是那个的问题,因为每次运行的结果确实是一样的,可是图片结果是这样,并不是原始结果那样的双向柱状图,就不知道是什么原因……

https://github.com/JuliaPlots/StatsPlots.jl#grouped-bar-plots

不知道原作者是否对这个groupedbar的实现修改过,参考其它groupedbar图,你运行的结果反而才是符合预想。

1 个赞

好的,非常感谢你的回答~

备案号:京ICP备17009874号-2