Показывать всплывающие подсказки в логарифмически масштабированных uiaxes

Я столкнулся с проблемой при использовании нового uiaxes Объект: после построения моих данных я могу щелкнуть точки данных, после чего отобразятся всплывающие подсказки с данными X и Y. Когда я изменяю масштаб моей оси X на логарифмический, всплывающие подсказки не отображаются.

Я использую MATLAB 2019a.

Вот пример кода:

h = uiaxes;
h.XScale = 'log';
a = plot( 1 : 10 );

При изменении масштаба обратно на линейный подсказки снова будут отображаться правильно.

Я также попробовал приведенную ниже команду, чтобы включить всплывающие подсказки, она работает, но у меня в окне командной строки есть масса предупреждений о том, что произошла ошибка в WindowMouseMotion Перезвони.

cursorMode = datacursormode(h.Parent);
cursorMode.Enable = 'on'

1 ответ

Проверь это:

function [] = q56982381()
hF = uifigure(); hAx = uiaxes(hF);
hAx.XScale = 'log';
hP = plot( hAx, 1 : 10 );

% Invoke the datacursor manager:
dcm_obj = datacursormode(hF);
hTip = dcm_obj.createDatatip(hP); % Don't specify any further inputs at this stage

% Wait until the figure loaded:
drawnow; pause(0.1); % or mlapptools.waitForFigureReady(hF); (see note at the bottom)

% Modify the datatip position:
hTip.Position = [2, 2, 0];

Результаты в:

mlapptools Утилита, соавтором которой я являюсь, предназначена для работы и настройки UIFigures.

Другие вопросы по тегам