Graphing an array by largest row to smallest row
    5 views (last 30 days)
  
       Show older comments
    
I would like to graph an array, let's call it output_array, by graphing its largest (in terms of nonzero entries) row first, then graphing the next largest until the last row to graph is the smallest row. 
For instance: output_array = [1,2,3; 1,2,3,4,5; 1,2,3,4];
And it would graph the second vector first, then the third vector, then the 1st vector last. Is there an easy way to do this?
1 Comment
  Dyuman Joshi
      
      
 on 25 Apr 2023
				Tthe output_array you mentioned will not be defined as there is a dimension mismatch, see below
y = [1,2,3; 1,2,3,4,5; 1,2,3,4]
You can either pad them with zeros or NaNs or define a cell array.
And what exactly do you mean by graphing?
Answers (1)
  dpb
      
      
 on 25 Apr 2023
         output_array = {[1,2,3]+0; [1,2,3,4,5]+0.1; [1,2,3,4]+0.2};
 [~,ix]=sort(cellfun(@numel,output_array),'descend');
 ix=num2cell(ix(:));
 hold on
 cellfun(@(c,i)plot(c,'x-','DisplayName',"Line "+i),output_array,ix)
 legend('location','northwest')
 Had to introduce an offset to avoid all points being identical...
0 Comments
See Also
Categories
				Find more on Graph and Network Algorithms in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


