Splitapply, each data of group in a new figure/plot

Hi all,
I am using the function splitapply. However I have problems with plotting each group in another figure (or hide one or more groups).
Currently I am using (attachment with .mat-file):
hold on splitapply(@(difference_mean,difference)plot(difference_mean,difference,'o'),difference_mean,difference,G);
It would be the best to create three seperate figures with each group another figure. Alternatively, create 3 times the same figure and delete the other data.
Can somebody provide me with de solution :)?
Greetings,
Martijn

 Respuesta aceptada

Duncan Po
Duncan Po el 17 de Mayo de 2016
You can do it but not with an anonymous function. You need a separate function to pass into splitapply:
function myplot(dm,d)
figure;
plot(dm,d,'o');
Pass this function into splitapply:
splitapply(@myplot,difference_mean,difference,G);

4 comentarios

KFrenkie
KFrenkie el 17 de Mayo de 2016
Thanks Duncan,
This solved my problem :)!
Actually, to be 100% accurate it is possible to do with single anonymous function:
splitapply(@(X, Y)plot(X, Y, 'o', 'Parent', axes('Parent', figure)), difference_mean, difference, G);
As you can see it's not as elegant as Duncan Po's solution.
Meet Desai
Meet Desai el 26 de Jun. de 2019
Is there any way that I can do splitapply and also get different title, name of axes for different graphs?
Thank you.
Make that an argument to your custom plotting function?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Distribution Plots en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 16 de Mayo de 2016

Comentada:

el 19 de Oct. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by