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

 Accepted Answer

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 Comments

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.
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?

Sign in to comment.

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!