Azzera filtri
Azzera filtri

ginput slow when plotted a lot of points

9 visualizzazioni (ultimi 30 giorni)
Marco
Marco il 29 Set 2011
Risposto: Marijan Herak il 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 Commento
Paolo
Paolo il 14 Ago 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

Accedi per commentare.

Risposte (3)

Walter Roberson
Walter Roberson il 29 Set 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 Commento
Marco
Marco il 29 Set 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.

Accedi per commentare.


Marijan Herak
Marijan Herak il 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 il 4 Ott 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 Commenti
Walter Roberson
Walter Roberson il 4 Ott 2011
Perhaps you could simply turn hittest off in the properties of the handles for the points?
Philippe
Philippe il 19 Lug 2012
That worked for me. ginput is very fluid with the HitTest off.

Accedi per commentare.

Categorie

Scopri di più su Graphics Performance in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by