how to plot each bin of data individually?

6 visualizaciones (últimos 30 días)
MA
MA el 17 de Oct. de 2021
Comentada: MA el 19 de Oct. de 2021
I am having the follwoing issues:
I have a table with three variables: time in hours, altitude and solar activity, according to a time interval of 3hrs I have divided my data into 8 bins using the function discretize.
How can we plot the data within each bin indiviually, i.e we have 8 bins we would like to have a graph for each bin, that is for each interval of time, so at the end we get 8 graphs.
in the plot the data of each row sholud be presented for ex by a dot.
attached is a text file containing a sample of the data I am working with.

Respuesta aceptada

dpb
dpb el 17 de Oct. de 2021
As per usual, would be easier to demonstrate with some real data to work with...but
tD=table(repmat([0:23].',4,1),randi([150 200]*1000,96,1),randi([10 70],96,1),'VariableNames',{'Hours','Altitude','Activity'});
tD.Bin=discretize(tD.Hours,8);
splitapply(@(x,y) plot(x,y,'*'),tD.Altitude,tD.Activity,tD.Bin)
xlabel('Altitude, ft')
ylabel('Activity, units')
tCenter=[1.5:3:24]; % bin time centers 0-3, 3-6, 6-9, ...
legend(compose('Time Bin %4.1f hrs',tCenter.')) % label by the group time centers
might be a fair starting point...
  3 comentarios
dpb
dpb el 18 de Oct. de 2021
I'm sure there is, but what, specifically, do you mean? The above is for each bin.
MA
MA el 18 de Oct. de 2021
Editada: MA el 18 de Oct. de 2021
What I mean is that the plot here will display all the bins together in one plot. But what if we are interested in visualizing only the data within a certain bin. since the bins we have represents intervals of time, we would like the plot to plot only one specified bin i.e specified interval of time. would that be possible?

Iniciar sesión para comentar.

Más respuestas (2)

dpb
dpb el 18 de Oct. de 2021
OK, here's another example; I'll add it as its own Answer -- carrying on from the above
uBin=unique(tD.Bin);
for i=uBin(:).'
nexttile
isBin=(tD.Bin==i);
scatter(tD.NE8(isBin),tD.GDALT(isBin),'.')
legend("Bin "+i,'Location','best')
xlabel('NE, units'),ylabel('GDALT, ft')
box on
end
  1 comentario
MA
MA el 19 de Oct. de 2021
That is exactly what I am after, I really appreciate all the help you provided, thank you so, so much.

Iniciar sesión para comentar.


Steven Lord
Steven Lord el 18 de Oct. de 2021
Can you tell us which of the thumbnail pictures for the plotting functions included in MATLAB look closest to what you want to plot? If none of them do and you have other MathWorks toolboxes installed, open the Plots tab on the Toolstrip and see if any of the functions from a toolbox have thumbnails that look closer (maybe a boxplot from Statistics and Machine Learning Toolbox?)
  6 comentarios
dpb
dpb el 18 de Oct. de 2021
It's easy to overthink a problem, indeed... :)
Glad to help.
Investigate rowfun and friends if you do other analyses on these data by the grouping variable(s) -- extremely powerful construct for such purposes.
MA
MA el 19 de Oct. de 2021
Thank you for the advice, I will definitely check them out.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by