Adding a scatter of points to a boxplot
Mostra commenti meno recenti
Does anyone come with with a code which can match the python generated boxplot?
1 Commento
dpb
il 29 Apr 2018
Presuming the points actually a set of coordinates as shown, don't see why
hold on
scatter(x,y)
with appropriate x,y arrays and the associated color arrays, etc., wouldn't come reasonably close...
Risposta accettata
Più risposte (2)
Hassan
il 18 Mag 2019
Hi, here you can find a one line solution for the jitter like function using the 'undocumented matlab' features.
load carsmall MPG
figure;
MPG(:,2)=MPG(:,1).*2;
MPG(:,3)=MPG(:,1).*3;
boxplot(MPG);
hold on;
x=repmat(1:3,length(MPG),1);
scatter(x(:),MPG(:),'filled','MarkerFaceAlpha',0.6','jitter','on','jitterAmount',0.15);
Best, HM
1 Commento
Junru Ruan
il 13 Dic 2019
This is the best answer! very nice presentation.
Tips: if you used group in box plot, do a 'unique' to get the right x axis.
boxplot(report_table.data,report_table.group_id);
hold on
[C, ~, ic]= unique([report_table.group_id],'stable');
scatter(ic,report_table.data,'filled','MarkerFaceAlpha',0.6','jitter','on','jitterAmount',0.15);
xlabel('Group ID');
ylabel('Data');
hold off
Ernesto Salcedo
il 27 Nov 2020
Modificato: Ernesto Salcedo
il 27 Nov 2020
Boxchart solution for grouped categorical data
Table with random group
count = 20;
T = table(randi(10,count,1), categorical(repmat(["papaya";"silicon"], count/2,1)),'VariableNames',["Recharges","model"])
T.idx = grp2idx(T.model); % convert categories into group indices
Boxchart
figure
hc = boxchart(T.idx, T.Recharges); % group by index
hold on
% overlay the scatter plots
for n=1:max(unique(T.idx))
hs = scatter(ones(sum(T.idx==n),1) + n-1, T.Recharges(T.idx == n),"filled",'jitter','on','JitterAmount',0.1);
hs.MarkerFaceAlpha = 0.5;
end
set(gca,"XTick", unique(T.idx),"XTickLabel",categories(T.model))

Categorie
Scopri di più su Scatter Plots in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


