这是我的绘图算法
function plotValues(x::Vector{Float64}, values::Vector{Float64}, frameCount::Union{Int64, Void} = nothing; ylabelName::String = "BER")
dpi::Int64 = 96
PyPlot.figure(figsize=(1920/dpi, 1080/dpi))
PyPlot.ylim(ymax=17)
PyPlot.ylim(top=17)
PyPlot.ylim(ymin=-17)
PyPlot.ylim(bottom=-17)
PyPlot.xlabel("SNR")
PyPlot.ylabel(ylabelName)
if nothing != frameCount
PyPlot.title("Frames transmitted: $frameCount")
end
PyPlot.grid(b=true, which="major", color="b", linestyle="-")
PyPlot.grid(b=true, which="minor", color="b", linestyle="--")
PyPlot.ylim(ymax=17)
PyPlot.ylim(top=17)
PyPlot.ylim(ymin=-17)
PyPlot.ylim(bottom=-17)
PyPlot.semilogy(x, values)
PyPlot.ylim(ymax=17)
PyPlot.ylim(top=17)
PyPlot.ylim(ymin=-17)
PyPlot.ylim(bottom=-17)
PyPlot.show()
end
现在我设置了多个点,因为我不清楚我的pyplot如何在内部工作,底部/ ymin应该是-17。但是,当我看到结果时,它看起来像这样
我知道我的值都不是0或低于0,所以这个图的底部不能是0(但接近它)。但是顶部是17,当我改变ymax或顶部成为别的东西时,它会调整自己。如何让PyPlot不要忽略我的ymin?