How to scatter plot a cell array

2 visualizaciones (últimos 30 días)
Weihao Fan
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
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
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.

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
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 -----------^
200211 154948-Figure 1.png

Más respuestas (1)

Weihao Fan
Weihao Fan el 12 de Feb. de 2020
It works for me. Thank you.

Categorías

Más información sobre Scatter Plots 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