MATLAB批量新增圖例

木華生發表於2020-12-19

問題描述:在繪圖的時候,如果顯示的資料比較多,手動輸入圖例會很麻煩。特別是輸入資料更改的時候,再改圖例也很麻煩。編寫一個可以根據向量自動生成圖例的函式:
方法:用向量儲存每個圖例的字串,然後生成命令字串,最後通過eval呼叫。

% 自動圖例
function auto_legend(pre,list,suf)
% 根據輸入的字首,列表和字尾生成圖例
% 用途:用於解決列表過多時需要手動修改圖例
% pre:字首 單引號字串
% list:數值列表
% suf:字尾 單引號字串
    legendlist = [];
    legendcomm = [];
    for i = 1:length(list)
        legendlist = [legendlist string([pre,num2str(list(i)),suf])];   % I=2A
        legendcomm=[legendcomm string(['legendlist(' num2str(i) ')'])];
    end
    temp = join(legendcomm,',');
    temp = ["legend(" temp ")"];
    legendcomm = join(temp);
    eval(legendcomm);
end

相關文章