Figure freezes during input() command on Windows

2 ビュー (過去 30 日間)
Matt J Dunn
Matt J Dunn 2017 年 2 月 9 日
コメント済み: Matt J Dunn 2017 年 2 月 15 日
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

回答 (1 件)

Harsh
Harsh 2017 年 2 月 15 日
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.
  1 件のコメント
Matt J Dunn
Matt J Dunn 2017 年 2 月 15 日
No; I am using MATLAB R2016b.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by