I've just found another issue with plvect. When using autoscaling of the
vectors of data which uses a transformation it is very easy for there to be
multiple points with very small, non-zero, differences in some of their x or y
values. This causes the scale parameter to be ridiculously small and when using
an interactive driver the arrows are then smaller than 1 pixel and are not
plotted.
Is there any reason why plvect scans the whole dataset to find the minimum dx
and dy rather than just checking nearest neighbours in a smarter way (i.e, for
y differences in the y direction and x differences in the x direction)?
Phil
________________________________
From: Andrew Ross <[email protected]>
To: phil rosenberg <[email protected]>
Cc: "[email protected]" <[email protected]>
Sent: Wednesday, 14 November 2012, 10:11
Subject: Re: [Plplot-devel] poor vectors when using wxwidgets
Phil,
Thanks for the patch. Before applying I decided to try the same thing
on other drivers.
xwin - behaves the same as wxwidgets, i.e. it rescales the plot to fit
the page and distorts vectors (also text too so this is not a sensible
thing to do with xwin)
qtwidget - maintains the aspect ratio of the plot and scales it to fit
in the window
xcairo - makes no attempt to rescale the plot, so it may or may not
still fit in the window if the window size is changed.
All this behaviour is rather inconsistent. It would be nice if the
main interactive drivers behaved in a similar way. What should that
behaviour be?
Andrew
On Tue, Nov 13, 2012 at 05:04:10PM -0800, phil rosenberg wrote:
> It turns out I've managed to solve my own problem. The wxWidgets driver was
> calling plP_setphy with constant values irrespective of the actual width and
> height of the window. I've replaced the constants with dev->width and
> dev->height which were assigned from pls->xlength and pls->ylength (which are
> int turn set by either a user or default call to plspage). I could see an
> argument for using higher resolution for AGG which has subpixel accuracy, but
> at least with this patch the distortions have been removed.
> ?
> This fixes the arrows and axes distances.
> ?
> Patch attached - tested on all three wxwidget backends.
> ?
> Phil
>
>
> ________________________________
> From: phil rosenberg <[email protected]>
> To: "[email protected]" <[email protected]>
> Sent: Tuesday, 13 November 2012, 23:20
> Subject: poor vectors when using wxwidgets
>
>
> Hi
> I've just been looking at using the plvect function to add vectors to a plot.
> Unfortunately they are not coming out well. Attached is a simple example with
> [1,1] vectors plotted at every integer from 0-9 in x and y. You can see that
> the arrow heads are distorted. I've traced this through the code and found
> that it's because the? plot is scaled independantly in x and y in the
> wxWidgets driver (in this case in wxPLDevGC::DrawPolyline() ). This scaling
> AFTER the rotation of the arrow causes distortion.
>
> I'm not fully familiar with the plplot transformations from world to device
> coordinates, but I thought that this should be performed by plP_wcpcx()? Does
> anyone have any idea what could be going wrong here so I'm not debugging from
> scratch? Am I doing something wrong during initialisation?
>
> By the way, I thik this is related to another problem that I've experienced
> (but hadn't gotten round to reporting) where my y axis title moves further
> and further away from the y axis as I make my plot window wider.
>
> Any help much appreciated.
>
> Phil
> ------------------------------------------------------------------------------
> Monitor your physical, virtual and cloud infrastructure from a single
> web console. Get in-depth insight into apps, servers, databases, vmware,
> SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> Pricing starts from $795 for 25 servers or applications!
> http://p.sf.net/sfu/zoho_dev2dev_nov
> _______________________________________________
> Plplot-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/plplot-devel
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel