Matplotlib Julia Pyymin似乎被忽略或忽略了

Matplotlib Julia Pyymin似乎被忽略或忽略了,matplotlib,julia,Matplotlib,Julia,这是我的绘图算法 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=

这是我的绘图算法

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?

不忽略它。它只是不知道如何在对数刻度中显示负值。我认为没有办法显示负值的绘图,因为没有负数的对数。顺便说一句,在函数末尾设置一次限制就足够了:
ylim(ymax=17)
@niczky12我想这是一种解释,它仍然会使图形看起来很糟糕。