How do I fix my legend?
古いコメントを表示
I am trying to create a legend key that says the name of a cell, then is followed by the value for mutual information.
Something like this:
legend(strcat('T9C11, MI =' num2str(mutualInfoTotal(67)),'T8C7','T8C5','T9C6')
But with the values for mutual information after each of the electrode names. But what I am doing now isn't working. So, what I want the legend to be like is like:
T9C11, MI = ______
T8C7, MI = ______
and so on.
Thanks!
6 件のコメント
What is the error you are getting?
Also, if you are plotting different datasets at once, using strcat will not work for seperating the legend names.
Looping throught your data is an easy way (though not too efficient) to create the titles.
baseNames = {'T9C11','T8C7','T8C5','T9C6'};
for idx = 1:length(baseNames)
NewNames{idx} = sprintf('%s, MI = %2.2f',baseNames{idx},mutualInfoTotal(idx)) % whatever value mutualInfoTotal you need here
end
legend(NewNames)
edit: forgot to store the values into the array! Thanks, Tommy.
Mary Hemler
2020 年 5 月 26 日
Ruger28
2020 年 5 月 26 日
what is the full error, and is it only erroring when you try to add the legend?
Mary Hemler
2020 年 5 月 26 日
Tommy
2020 年 5 月 26 日
You can still use the same idea, just pull the pertinent values from mutualInfoTotal:
baseNames = {'T9C11','T8C7','T8C5','T9C6'};
baseValues = mutualInfoTotal([67 68 69 70]); % or whatever the indices are
NewNames = cell(numel(baseNames,1));
for idx = 1:length(baseNames)
NewNames{idx} = sprintf('%s, MI = %2.2f',baseNames{idx},baseValues(idx));
end
legend(NewNames)
(One slight addition - storing the strings in a cell array.)
Rik
2020 年 5 月 26 日
@Tommy, you should probably move this to the answer section.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Legend についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!