Adding legend to a plot from an array

24 views (last 30 days)
Ive got iD directories, iF files per directory and iS data sets per files. To extract the data I build an array dataset(:,iD,iF,iS) and also build a legend string with the corresponding names of the directory,file and data set just like legStr{iD,iF,iS}. Then I loop over the directories times the files times the data sets and plot it all in one figure. How can I use my legStr cell array to create a legend on this figure ?

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 20 Jun 2015
Edited: Azzi Abdelmalek on 20 Jun 2015
lengend(legStr)
  2 Comments
Moiz
Moiz on 20 Jun 2015
That works only if legStr is a 1-D cell array of strings. In this case it is 3-D. Hence I use reshape just like legStr = reshape(legStr,nDir*nFiles*nDataSets,1). However this ends up becoming something like dir1/file1/set1, dir2/file1/set1, dir1/file2/set1, dir2/file2/set1 and so on instead of dir1/file1/set1, dir1/file1/set2, dir1/file2/set1, dir1/file2/set2 and so on.. i.e., the reshaping does not follow the same order as the data gathering - hence this would mess up the legend on the figure.

Sign in to comment.

More Answers (1)

Kishor
Kishor on 19 Dec 2022
Add a legend to plot using the array starname

Tags

Community Treasure Hunt

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

Start Hunting!