Graphing an array by largest row to smallest row

5 visualizaciones (últimos 30 días)
Gabriel
Gabriel el 25 de Abr. de 2023
Respondida: dpb el 25 de Abr. de 2023
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 comentario
Dyuman Joshi
Dyuman Joshi el 25 de Abr. de 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]
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
You can either pad them with zeros or NaNs or define a cell array.
And what exactly do you mean by graphing?

Iniciar sesión para comentar.

Respuestas (1)

dpb
dpb el 25 de Abr. de 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...

Categorías

Más información sobre Graph and Network Algorithms en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by