JuliaPlots / Plots.jl

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

Plotly and PlotlyJS incorrect formatting for legend and annotation text compared to gr #4227

Open lewisl opened 2 years ago

lewisl commented 2 years ago

Details

The formatting problem is obvious.

output from Plotly or PlotlyJS (same problems): newplot

output from gr:

gr output

Further, the dependency stack for Plotly and PlotlyJS is a mess. The documenation says that Plotly has no dependencies. Ho-Ho! to that.

New philosophy: Pick one backend for OS specific windows. Pick one backend for web. Drop all other backends. It is a maintenance quagmire to do more. It is dependency hell for users. Make the 2 backends work perfectly. The multiple backend approach has outlived its usefulness and has become a boat-anchor liability. Pretty obvious to everyone. Plots has the best plotting API and functionality by far (except for grammar of graphics advocates). So, stop being dragged down by dependency integration problems. Wasted about 2 hours on this today. Not worth it. You've spent WAY more time than probably every user combined dealing with this. If your goal is "great looking plots produced easily" (I think that's close) then just focus on that goal.

Backends

This bug occurs on ( insert x below )

Backend yes no untested
gr (default)
pyplot
plotlyjs x
pgfplotsx
unicodeplots
inspectdr
gaston

Versions

Plots.jl version: Plots v1.28.1 Backend version (]st -m <backend(s)>): PlotlyJS v0.18.4 Output of versioninfo():Julia Version 1.7.2 Commit bf53498635 (2022-02-06 15:21 UTC) Platform Info: OS: macOS (arm64-apple-darwin21.2.0) CPU: Apple M1 Max WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-12.0.1 (ORCJIT, cyclone) Environment: JULIA_EDITOR = code

BeastyBlacksmith commented 2 years ago

The documenation says that Plotly has no dependencies. Ho-Ho! to that.

What I meat to say is, that you don't have to load any other julia package than plots itself to use the plotly backend (not plotlyjs, at least if you don't need to save to png or pdf).

t-bltg commented 2 years ago

Further, the dependency stack for Plotly and PlotlyJS is a mess. The documenation says that Plotly has no dependencies. Ho-Ho! to that.

You can't be more right.

The multiple backend approach has outlived its usefulness and has become a boat-anchor liability.

I believe multiple (but limited) backend support can be still achieved with strict coding rules, backend knowledge & corresponding abstraction, and bullet proof testing (which goes with coverage).

Wasted about 2 hours on this today. Not worth it.

So true.