Ваши данные не теряют точности, дисплей курсора данных просто не показывает полную точность, так что текстовые поля имеют более приемлемый размер. Однако, если вы хотите повысить точность отображения в текстовой подсказке, вы можете настроить его .
Если щелкнуть правой кнопкой мыши текстовое поле «Курсор данных», вы должны увидеть следующее меню:
Если вы затем выберите опцию Изменить текстовое обновление ... , откроется m-файл по умолчанию, содержащий следующее:
function output_txt = myfunction(obj, event_obj)
% Display the position of the data cursor
% obj Currently not used (empty)
% event_obj Handle to event object
% output_txt Data cursor text string (string or cell array of strings).
pos = get(event_obj, 'Position');
output_txt = {['X: ', num2str(pos(1), 4)], ...
['Y: ', num2str(pos(2), 4)]};
% If there is a Z-coordinate in the position, display it as well
if length(pos) > 2
output_txt{end+1} = ['Z: ', num2str(pos(3), 4)];
end
Обратите внимание, что текст для координатных данных X и Y отформатирован с использованием num2str
, а вторым аргументом является 4
. Это преобразует значение координаты в строковое представление с точностью до 4 цифр. Если вы хотите отображать больше цифр, просто увеличьте это число, а затем сохраните вновь созданный m-файл на вашем пути .
Теперь ваш текст всплывающей подсказки должен отображать больше точности для ваших чисел. Если вы хотите выполнить все вышеперечисленное программно , вы сначала должны создать функцию обновления текста, сохранить ее в файл (например, 'updateFcn.m'
), а затем включить курсоры данных с помощью функции datacursormode
и настройте их на использование пользовательской функции обновления текста. Вот пример:
plot(1:10, rand(1, 10)); % Plot some sample data
dcmObj = datacursormode; % Turn on data cursors and return the
% data cursor mode object
set(dcmObj, 'UpdateFcn', @updateFcn); % Set the data cursor mode object update
% function so it uses updateFcn.m