![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/217641/image.jpeg)
Display data points in boxplots
조회 수: 77 (최근 30일)
이전 댓글 표시
I am using the boxplot function to create boxplots of my data. But I would also like to plot my data on top of the boxplots.
Can anyone please help with that?
Below is an example of my code
Data1 = [0.2658 0.1969 0.3702 0.2259 0.2575 0.2253 0.4486 0.5385 0.3982 0.2899]';
Data2 = [0.2589 0.2094 0.3575 0.2391 0.2547 0.1987 0.4156 0.5443 0.394 0.3]';
Data3 = [0.2589 0.2094 0.3575 0.2391 0.2547 0.2087 0.4256 0.5243 0.3822 0.2983]';
group = [ ones(size(Data1));
2 * ones(size(Data2))
3 * ones(size(Data3))];
boxplot([Data1; Data2; Data3],group)
h = boxplot([Data1; Data2; Data3],group)
set(h,{'linew'},{2})
set(gca,'XTickLabel', {'Data1'; 'Data2'; 'Data3'})
댓글 수: 0
채택된 답변
Adam Danz
2019년 5월 2일
편집: Adam Danz
2019년 9월 19일
After some slight rearrangement of your code, I added a secton that optionally scatters the x coordinates around the centers of the boxes. Set the 'spread' to 0 to plot data points in the center of the boxes.
allData = {Data1; Data2; Data3};
h = boxplot(cell2mat(allData),group); % old version: h = boxplot([allData{:}],group);
set(h, 'linewidth' ,2)
set(gca,'XTickLabel', {'Data1'; 'Data2'; 'Data3'})
hold on
xCenter = 1:numel(allData);
spread = 0.5; % 0=no spread; 0.5=random spread within box bounds (can be any value)
for i = 1:numel(allData)
plot(rand(size(allData{i}))*spread -(spread/2) + xCenter(i), allData{i}, 'mo','linewidth', 2)
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/217641/image.jpeg)
The x-scatter is random so the the x coordinates will differ each time the plot is created unless the rng seed is controlled.
댓글 수: 6
Adam Danz
2020년 6월 29일
The plot() command only allows you to assign one color per object. So you could plot the values within a loop where you can assign a different color on each iteration. Another method would be to use the scatter() function that allows you to assign different color for each point.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Scatter Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!