Only the initial graph shows up

I'm trying to subplot 2 graphs in the same figure but I'm only getting the first graph. Need help trying to display both graphs
figure;
subplot(2, 1, 1)
plot(frames, Knee_A(:, 1), 'ro-', 'linewidth', 2); hold on;
plot(frames, Knee_A(:, 2), 'go-', 'linewidth', 2);
plot(frames, Knee_A(:, 3), 'bo-', 'linewidth', 2);
xlabel('Fluoroscopic Frame (30 FPS)');
ylabel('Angle (deg)');
legend('Flex/EXT', 'ADD/ABD', 'IR/ER', -1);
title([handles.SubjectName, ' ', handles.SubjectSide, ' ', handles.TrialName, ' Knee Angles']);
subplot(2, 1, 2)
plot(frames, Knee_V_tibia(:, 1), 'ro-', 'linewidth', 2); hold on;
plot(frames, Knee_V_tibia(:, 2), 'go-', 'linewidth', 2);
plot(frames, Knee_V_tibia(:, 3), 'bo-', 'linewidth', 2);
xlabel('Fluoroscopic Frames (30 FPS)');
ylabel('Translation (mm)');
% plot(frames, sum(StemV_cup.^2, 2).^.5, 'ko-', 'linewidth', 2);
title('Knee Translations')
legend('A/P', 'P/D', 'L/M', -1);

1 个评论

Does anything show up where the second subplot should be? An empty axes?
Screenshot of the figure might be helpful, or attaching the data. Knee_V_tibia might be all NaNs or empty.

请先登录,再进行评论。

 采纳的回答

Jon
Jon 2022-8-5
编辑:Jon 2022-8-5
The problem is that you have an error in your line
Error using legend
Invalid argument. Type 'help legend' for more information.
Error in missingplot (line 11)
legend('Flex/EXT', 'ADD/ABD', 'IR/ER', -1);
Specifically the -1 at the end is not correct. So the script crashes before it ever makes the second subplot.
Note the line number this occurs in for your code is probably not 11, I added a few lines ahead of your script to make up some data. Anyhow, it is the line that has the legend command. Same thing for legend in second subplot

5 个评论

Also obviously your script is not called missingplot, that is just what I called my script that I saved using your code in order to debug it.
@Jon good catch.
@Pete Tuchinda: Lesson learned - pay attention to error messages and always include the full copy-pasted error message in your question.
numbers as the final parameter to legend() used to indicate the plot position. I think -1 corresponded to the current "best" request
So using current MATLAB versions (R2022a)
legend('Flex/EXT', 'ADD/ABD', 'IR/ER','Location','best');
@Jon Thank you! Got it to work now!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Graphics Performance 的更多信息

产品

版本

R2022a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by