How to change color of lines on legend?

251 ビュー (過去 30 日間)
Mahdi Torabi
Mahdi Torabi 2018 年 7 月 14 日
コメント済み: Simone 2025 年 1 月 29 日 15:04
Is there any way to change the color of lines in the legend AFTER plotting the graph(like using Edit\axes properties)?
  5 件のコメント
Mahdi Torabi
Mahdi Torabi 2018 年 7 月 14 日
Thank you so much. This solved the problem.
Simone
Simone 2025 年 1 月 29 日 15:04
Thank you so much, clean and effective. I used your solution to ignore a very high amount of line() plots from the legend, while your code just builds the legend manually using as trick void but coloured plots. The syntax used is: legend(subset, labels).

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

採用された回答

Mahdi Torabi
Mahdi Torabi 2018 年 7 月 14 日
編集済み: Matt J 2018 年 7 月 14 日
According to the Walter answer on above my problem solved easily using :
L(1) = plot(nan, nan, 'b-');
L(2) = plot(nan, nan, 'r--');
legend(L, {'first case', 'second case'})
  2 件のコメント
Matt J
Matt J 2018 年 7 月 14 日
This gives an error,
Error using legend>process_inputs (line 554)
Invalid argument. Type 'help legend' for more information.
Error in legend>make_legend (line 306)
[autoupdate,orient,location,position,children,listen,strings,propargs] = process_inputs(ha,argin); %#ok
Error in legend (line 259)
make_legend(ha,args(arg:end),version);
Walter Roberson
Walter Roberson 2018 年 7 月 15 日
Turns out you just need
hold on
to be in effect, as otherwise the second plot() clears the axes.

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

その他の回答 (1 件)

Matt J
Matt J 2018 年 7 月 14 日
編集済み: Matt J 2018 年 7 月 14 日
This might be what Walter meant,
t=linspace(0,1,10);
L(1:2) = plot(t,exp(-t), 'r--',nan,nan,'k--');hold on
L(3:4) = plot(t,1-exp(-t), 'g^-',nan,nan,'m^-'); hold off
legend(L([2,4]), 'Red','Green')
  2 件のコメント
Luiz Bacelar
Luiz Bacelar 2020 年 5 月 1 日
how to solve this? I have similar problem
Walter Roberson
Walter Roberson 2020 年 5 月 1 日
plot(nan,nan) with appropriate line style and color, once for each different thing you want to appear in the legend, recording the handle that is returned. Then when you call legend(), pass that array of handles in as the first parameter to legend()

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

カテゴリ

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