multiple legend not showing in plot

4 ビュー (過去 30 日間)
Ham Man
Ham Man 2022 年 7 月 8 日
コメント済み: Ham Man 2022 年 7 月 10 日
I have 5 plots and try to show the legend using handle.
h= [plot1(1);plot2(2);plot3(3);plot4(4);plot5(5)];
legend(h,'pln1','pln2','pln3','pln4','pln5');
But I get this error:
Index exceeds the number of array elements (1).
I appreciate any help!
  4 件のコメント
Karim
Karim 2022 年 7 月 10 日
編集済み: Karim 2022 年 7 月 10 日
Note that you create a lot of room for intepretation on how you construct 'plot1' and what the content is, this makes it very difficult for people to help.
If you created the 'plot1' etc as seperate figures (or perhaps as plot or line commands) then you cannot acces plot3(3) since there will not be a third element. This can result in the indexing error. In such case you can acces all of them as plot3(1), see below for an example.
If this doesn't help you will need to give more information on how (and why) you construct 'h' in this particular manner and what the content of plot1 etc is.
plot1 = figure('visible','off'); plot(1:10,rand(10,1));
plot2 = figure('visible','off'); plot(1:10,rand(10,1));
plot3 = figure('visible','off'); plot(1:10,rand(10,1));
% this can work
h = [plot1(1);plot2(1);plot3(1)]
h =
3×1 Figure array: Figure (1) Figure (2) Figure (3)
% this will produce an indexing error
h = [plot1(1);plot2(2);plot3(3)]
Index exceeds the number of array elements. Index must not exceed 1.
Ham Man
Ham Man 2022 年 7 月 10 日
Great Karim,Many thanks, it works

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeLegend についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by