ginput slow when plotted a lot of points

16 views (last 30 days)
Marco
Marco on 29 Sep 2011
Answered: Marijan Herak on 2 Mar 2018
Hi, i'm experiencing a strange behaviour of the ginput command.
I plotted on an axis quite a huge number of points (more than 4 millions). Everything behaves quickly (pan and zooming are fast).
When i run a ginput on this axis it becomes painfully slow. The crosshair-like pointer is lagged (it follows the actual position of the mouse with a delay of some seconds).
the only solution i found so far is to overlay a transparent axis over the real one, with the same extents, and run the ginput over this second one.
This solution actually works but is really slow to code (i often have to do it) and could cause some problems (e.g in case of zooming it's quite difficult to keep the axis aligned).
In general i don't think this solution is elegant, so my question is:
did anyone else experience the same problem and find a better solution or workaround?
Thanks!
Marco
  1 Comment
Paolo
Paolo on 14 Aug 2013
Hi Marco, could you please write the lines of code that you used to overlay a transparent axis with aligned axes? I'm experiencing the same problem with ginput...
Thanks, Paolo

Sign in to comment.

Answers (3)

Walter Roberson
Walter Roberson on 29 Sep 2011
linkaxes() should keep the axes aligned.
If you have to code it often, then it would seem natural to code the repeated elements in to functions and then just call upon them ?
  1 Comment
Marco
Marco on 29 Sep 2011
First of all thanks for the suggestion, that's exactly what i will do if the overlaying a second axis is the only possible way to have the ginput work swiftly.
i just think it's strange that the number of points previously drawn affects the performances of such a function and that i have to code a solution (or more precisely a workaround) to a problem that in my opinion should not be there.

Sign in to comment.


Marijan Herak
Marijan Herak on 2 Mar 2018
Try choosing OpenGL renderer for the figure - set(gcf,'renderer','opengl'). It works for me, and ginput is smooth and responsive again (over 100.000 points in the figure).

Marco
Marco on 4 Oct 2011
This seems to be the only solution, so i thank a lot Walter for the time he dedicated to me and i positively rate his answer!
  2 Comments
Walter Roberson
Walter Roberson on 4 Oct 2011
Perhaps you could simply turn hittest off in the properties of the handles for the points?
Philippe
Philippe on 19 Jul 2012
That worked for me. ginput is very fluid with the HitTest off.

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!