グラフの凡例コピー

조회 수: 11 (최근 30일)
Mamoru Mabuchi
Mamoru Mabuchi 2020년 7월 13일
답변: michio 2020년 7월 13일
Figure1で作図したラインと凡例をFigure2へコピーしたいです。
ラインは正しくコピーできるのですが、凡例は、色の順番が変わってしまいます。
コピーする前と同じ順番で凡例をコピーしたいのですが、どのようにすれば良いですか?
%% プロット1
fig = figure(1);
ax(1) = axes('Position',[0.1000 0.1000 0.8182 0.8182]);
pHandle = plot([0 1],[1 1],[0 1],[2 2],[0 1],[3 3],[0 1],[4 4]);
lgd = legend('1','2','3','4');
%% プロット2
fig = figure(2);
ax(2) = axes('Position',[0.1000 0.1000 0.8182 0.8182]);
Line_obj = findobj(pHandle,'Type','Line'); % Lineの要素を抽出
copyobj(Line_obj,ax(2)); % Lineの要素をコピー
lgd_obj = lgd.String;
legend(lgd_obj); % legendの表示

답변 (1개)

michio
michio 2020년 7월 13일
Line object の順番が代わってしまっているのが要因ですが、例えば
Line_obj = findobj(pHandle,'Type','Line'); % Lineの要素を抽出
Line_obj = findobj(ax(1),'Type','Line'); % Lineの要素を抽出
に変えて axes から Line を検索するようにすると順番も維持される模様です。

카테고리

Help CenterFile Exchange에서 Legend에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!