1. 程式人生 > >動態追加內容的MATLAB plot Legend

動態追加內容的MATLAB plot Legend

似乎MATLAB的legend沒有“追加”這個選項,就是說每次呼叫都會重新生成Legend,前面的全部刷掉。也有字串矩陣的方法,可惜每行都要一樣長操作不太方面。自己想了投機的一個辦法來實現追加。

有若干曲線,都已經把object儲存在了curve_obj{}中
每個曲線的名稱儲存在了curve_name{}中
於是用字串生成的辦法,先生成一個legend_command
然後用eval()函式呼叫這個生成的命令。

legend_command = ['legend(curve_obj, ''', curve_name{1}, ''''];
for i = 2 : curve_used_count % Construct the command the display a legend
    legend_command = [legend_command, ',''', curve_name{i}, ''''];
end
legend_command = [legend_command, ')']
eval(legend_command);

其實這個方法也比較笨拙,希望有更好的方案,比如基於輸入的字元矩陣的操作的。