JuliaPlots / PlotlyJS.jl

Julia library for plotting with plotly.js
Other
427 stars 78 forks source link

The Output of `savefig()` Does Not Use the Layout Dimensions #491

Open RoyiAvital opened 2 weeks ago

RoyiAvital commented 2 weeks ago

I create a simple graph with where I set the following layout:

oLayout = Layout(title = "Localization by Range Measurements: Scenario", width = 600, height = 600, 
                xaxis_range = [0, tuGridSize[1]], yaxis_range = [0, tuGridSize[2]], xaxis_title = 'x', yaxis_title = 'y',
                hovermode = "closest", margin = attr(l = 50, r = 50, b = 50, t = 50, pad = 0),
                legend = attr(x = 0.025, y = 0.975), shapes = oShp);
hP = Plot([oTr1, oTr2, oTr3, oTr4], oLayout);
display(hP);

When I save the figure, using savefig(hP, "MyFile.png"); the output neither honor the layout aspect ratio nor the pixels dimension.

Yet documentation says:

image

I'd assume it would take the values from layout.

empet commented 2 weeks ago

@RoyiAvital Yes, when you save a plot, set always width, height from layout or not, and scale=1. plotly.py saves a fig as an image of size (width, height) set in Layout, but unfortunately, PlotlyJS doesn't do it.

RoyiAvital commented 2 weeks ago

So maybe documentation should note that the output dimensions are set by a pre defined values and not by the p provided.
Currently the documentation is ambiguous.