JuliaPlots / Plots.jl

Powerful convenience for Julia visualizations and data analysis
https://docs.juliaplots.org
Other
1.84k stars 355 forks source link

[BUG] Arrows not showing correctly when using `yscale = :log10` #4709

Open dermesser opened 1 year ago

dermesser commented 1 year ago

Details

Arrowheads (e.g. created with plot(...; arrow = arrow(:closed))) are butchered when using a semi-log scale, using GR.

This is correct (lin-lin scale): arrows_correct

This is wrong (lin-log scale): arrows_wrong

Backends

This bug occurs on ( insert x below )

(at least gr)

Backend yes no untested
gr (default) x
pythonplot x
plotlyjs x (doesn't show any arrows)
pgfplotsx x (doesn't support arrows)
unicodeplots x (doesn't show any arrows)
inspectdr x (doesn't show any arrows)
gaston x (doesn't show any arrows)

Versions

Plots.jl version: [91a5bcdd] Plots v1.38.8 Backend version (]st -m <backend(s)>): [28b8d3ca] GR v0.71.8 Output of versioninfo():

Julia Version 1.9.0-rc1
Commit 3b2e0d8fbc (2023-03-07 07:51 UTC)
Platform Info:
  OS: Linux (x86_64-redhat-linux)
  CPU: 4 × Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake)
  Threads: 1 on 4 virtual cores
Environment:
  JULIA_IMAGE_THREADS = 1
ivan-boikov commented 1 year ago

Can confirm, arrows indeed are botched in logscale, both semi and full.

Can't test other backends, have trouble with their precompilation.