How to plot a graph on a panel in App Designer?
9 ビュー (過去 30 日間)
古いコメントを表示
Hi.
I have the below app design view, and I would like to plot the same linear graph (y = 1x) on both axes objects, one (UIAxes) is parented to a panel object and the other (UIAxes2) is just on a figure object.

To do this, I have the following callback function startupFcn (executed per app execution).

Then, the execution result is the following; no plot is apprently made on the axes belonging to the panel. Could you tell what was wrong in my code?

1 件のコメント
Walter Roberson
2024 年 12 月 4 日
Your first diagram makes it look as if the panel is behind an axes. The drawing on top takes priority in App Designer.
採用された回答
Yukthi S
2024 年 12 月 4 日
I got that you wanted to plot the same linear graph on two different axes:
a) UIAxes inside a panel and
b) UIAxes2 directly on the figure.
But the function you are using attempts to re-parent UIAxes2 to the panel. The below adjustments to the design and code will achieve the desired behaviour.
- Make panel the parent component in the design itself.
- Now switch to Code View and give the below function as the StartupFcn:
function startupFcn(app)
x = 1:1:10; % X data
y = x; % Y data (y = x)
% Plot on UIAxes (inside the Panel)
plot(app.UIAxes, x, y, 'b-', 'LineWidth', 2);
title(app.UIAxes, 'Plot on UIAxes');
xlabel(app.UIAxes, 'X');
ylabel(app.UIAxes, 'Y');
grid(app.UIAxes, 'on');
% Plot on UIAxes2 (directly on the figure)
plot(app.UIAxes2, x, y, 'r--', 'LineWidth', 2);
title(app.UIAxes2, 'Plot on UIAxes2');
xlabel(app.UIAxes2, 'X');
ylabel(app.UIAxes2, 'Y');
grid(app.UIAxes2, 'on');
end
- Save and run the App. You will see the linear plot on UIAxes inside a panel and UIAxes2 directly on the figure.
Hope this addresses the query!
3 件のコメント
Walter Roberson
2024 年 12 月 9 日
axes 2 is not parented to the panel, according to your original posting.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Develop Apps Using App Designer についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!