How to scatter plot a cell array
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Weihao Fan
el 10 de Feb. de 2020
Respondida: Weihao Fan
el 12 de Feb. de 2020
I have a 1x18 cell array like the picture. The indices of the cells (1:18) represent the depths of my system. And each depth includes corresponding amount of data (for example, the 1st depth has 529 data). Now I want to plot these data as a function of depth. How can I achieve that? Should I use scatter function? But scatter function requires the length of x, y dimension to be same.
3 comentarios
Adam Danz
el 11 de Feb. de 2020
Weihao Fan's answer moved here as a comment.
Yeah that is my goal. And what do you mean by explaining the correspondence between depths
Adam Danz
el 11 de Feb. de 2020
Editada: Adam Danz
el 12 de Feb. de 2020
" what do you mean by explaining the correspondence between depths"
As you can see in the demo in my answer, each stack of dots has a different number of dots. So, if you expected to see trend lines connecting the dots between x values, you'd need to explain how those values are related since there is not a 1:1 mapping.
Respuesta aceptada
Adam Danz
el 11 de Feb. de 2020
Input: data, an 18x1 cell array where each element is a 1xn double precision vector varying in size.
Output: a figure with x values 1:18 and y values defined by the elements of data.
% Create data that loosly match OP's description
data = arrayfun(@(i){rand(1,i)},randi(500,18,1)+27);
% Define Depths (x values_
depths = 1:numel(data);
% Create figure and plot each element of data
clf()
hold on % important
arrayfun(@(i)plot(depths(i),data{i},'o'),1:numel(depths));
% Specify the color here -----------^
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Annotations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!