ginput slow when plotted a lot of points

16 visualizaciones (últimos 30 días)
Marco
Marco el 29 de Sept. de 2011
Respondida: Marijan Herak el 2 de Mzo. de 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 comentario
Paolo
Paolo el 14 de Ag. de 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

Iniciar sesión para comentar.

Respuestas (3)

Walter Roberson
Walter Roberson el 29 de Sept. de 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 comentario
Marco
Marco el 29 de Sept. de 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.

Iniciar sesión para comentar.


Marijan Herak
Marijan Herak el 2 de Mzo. de 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 el 4 de Oct. de 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 comentarios
Walter Roberson
Walter Roberson el 4 de Oct. de 2011
Perhaps you could simply turn hittest off in the properties of the handles for the points?
Philippe
Philippe el 19 de Jul. de 2012
That worked for me. ginput is very fluid with the HitTest off.

Iniciar sesión para comentar.

Categorías

Más información sobre Graphics Performance en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by