Figure freezes during input() command on Windows

6 visualizaciones (últimos 30 días)
Matt J Dunn
Matt J Dunn el 9 de Feb. de 2017
Comentada: Matt J Dunn el 15 de Feb. de 2017
I am writing a program that allows the user to select a data point on a figure using datacursormode() and simultaneously awaits input from an input() command. On MATLAB 2016b (Mac), this works fine; I can select a point without any problems. On Windows, the figure window freezes and only updates when the program advances beyond the input() line. Consequently, I can't see my data cursor (it only appears when the program moves on).
I understand about the command drawnow(), but I need to be able to wait for the user to select a data point in the figure and then press a key to indicate that they are happy with their selection.
The code works as follows:
<2D data drawn to figure window>
dataCursor = datacursormode(gcf);
set(dataCursor,'DisplayStyle','datatip','SnapToDataVertex','off','Enable','on'); % change to 'data cursor mode'
userType = input('Select data point, then press enter. Type ''end'' to end >','s'); % FIGURE WINDOW FREEZES HERE

Respuestas (1)

Harsh
Harsh el 15 de Feb. de 2017
Hello,
Are you using MATLAB R2016a? There was a bug with that version that was fixed in R2016b. The bug report and more details can be seen here:
One possible workaround worth trying is to use 'pause(0.5)' statement before the call to the input function.

Categorías

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

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by