Clear Filters
Clear Filters

Figure freezes during input() command on Windows

2 views (last 30 days)
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

Answers (1)

Harsh on 15 Feb 2017
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.


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!