How can I display Z coordinate of a 3D plot, on an Edit field (numeric) in app designer.

2 ビュー (過去 30 日間)
Abdulbagi Mohammed
Abdulbagi Mohammed 2022 年 4 月 5 日
回答済み: Nivedita 2023 年 9 月 14 日
How can I display Z coordinate of a 3D plot on edit field (numeric), when I click on a specific point on the plot, is there any way to do this on app designer?

回答 (1 件)

Nivedita
Nivedita 2023 年 9 月 14 日
Hi Abdulbagi,
I understand that you are display the Z coordinate of a 3D plot on a numeric edit field in MATLAB app designer.
You can do this in the following manner:
methods (Access = private)
function output_txt = myUpdateFcn(app,info)
% Get the datatip position
z = info.Position(3);
y = info.Position(2);
x = info.Position(1);
% Update the NumericEditField with the Z coordinate
app.EditField.Value = z;
% Create the datatip text
output_txt = {sprintf('X: %.3f', x), sprintf('Y: %.3f', y), sprintf('Z: %.3f', z)};
end
end
% Callbacks that handle component events
methods (Access = private)
% Code that executes after component creation
function startupFcn(app)
x = [0 1 2 3 4 5 6 7 8 9];
y = [0 1 2 3 4 5 6 7 8 9];
z = [0 1 2 3 4 5 6 7 8 9];
plot3(app.UIAxes, x, y, z, 'o-', 'LineWidth', 2, 'MarkerSize', 8);
dcm = datacursormode(app.UIFigure);
dcm.Enable = 'on';
dcm.DisplayStyle = 'datatip';
dcm.UpdateFcn = @(src, event)myUpdateFcn(app, event);
end
end
In the “startup” function, a 3D line plot is generated using random data. Then the “datacursormode” object (“dcm”) is enabled and set to display datatips. The “UpdateFcn” property is set to the “myUpdateFcn” function, which will be called when the datatip is updated.
Inside myUpdateFcn, the X, Y, and Z coordinates are extracted from the info.Position property. The Z coordinate is then assigned to the Value property of the NumericEditField component (app.EditField.Value = z;). The datatip text is created using “sprint” to format the X, Y, and Z coordinates with three decimal places.
For more information about “datacursormode”, you can refer to the following documentation link:
I hope this helps!
Regards,
Nivedita.

カテゴリ

Help Center および File ExchangeDevelop Apps Using App Designer についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by