On Sun, 26 Sep 2010 13:38:21 +0200 Thomas Weber <tweber@debian.org> wrote: > Hi Yann, > On Sun, Sep 26, 2010 at 02:45:45AM +0200, Yann Vernier wrote: > > Package: octave3.2 > > Version: 3.2.4-7 > > Severity: normal > > > > > > There is a bug in handling of 2d plots with Octave 3.2 and Gnuplot > > 4.4. > > > > I found that while axis equal or axis square change the plot, both > > on screen and in print, it does not calculate the ratios correctly. > > Whatever it is setting seems dependent on the window shape, which > > really should never affect the printout. > > Could you send some screenshots showing the problem? And please, don't > use random values (i.e. rand() and friends), but someting easily > reproducible. > > Thanks > Thomas Certainly. This also led me to experiment a bit with what the calculations are based on; the difference between axis and data ranges matters. Also attaching the message in the screenshot, which contains the sample code. (cut -d# may help you split it into gnuplot and octave scripts)
Top left: gnuplot: # Similar data in octave # set multiplot layout 2,1 # x=-1:0.02:1; # y=0.3+0.3*sin(x); set xrange [-1:1] # set yrange [0:1] # subplot(2,1,1); # plot(x,y) set label "square" # axis('square', [0,1, -1,1]); set size ratio 1 # title("square"); plot 0.3+0.3*sin(x) # unset label # subplot(2,1,2); # plot(x,y) set label "equal" # axis('equal', [0,1, -1,1]); set size ratio -1 # title("equal"); plot 0.3+0.3*sin(x) # waitforbuttonpress() Behaviour is dependent on difference between axis length and plot data. Lower right plot with "screen_coordinates_for_{lrtb}margin" 0, shows *data* plotted square or equal (correct for equal, at least). Upper right plot with "screen_coordinates_for_{lrtb}margin" 1, shows apparently inverted behaviour of equal, and square *almost* producing a square plot region (might be a coincidence). Perhaps it inadvertently inverts scaling for gnuplot>=4.3? Versions: Octave 3.2.4, Gnuplot 4.4.0
Attachment:
screenshot.png
Description: PNG image