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

 Akzeptierte Antwort

Duncan Po
Duncan Po am 17 Mai 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 Kommentare

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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Distribution Plots finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by