How to plot different datasets in a scatterplot next to each other at discrete points on x-axis?
이전 댓글 표시
Hello,
I have 3 datasets that were obtained at positions 1-10 and have values.
The positions in the table are Strings, i.e. '1', '2', and each dataset contains values for each position.
Now I want to plot the data from all three datasets for each position next to each other in the same (scatter?) plot.
This is what I roughly want it to look like, excuse the crude image. I think I found a picture of what I want it to look like before, but I can't find it anymore.

The dots at each point should be evenly spaced out in the x-axis and there should be enoughenough spacing between the individual points 1-10 in the x-axis.
How can I achieve this? I tried using the reguar scatterplot, but that puts the dots on a line which makes it hard to read:

I pick the datapoints I want to plot from each dataset through an array of strings:
plotPositionDataset1 = [string(1:10)];
plotPositionDataset2 = [string(1:10)];
plotPositionDataset3 = [string(1:10)];
To map the strings I want to plot with the ones in my table I used categorical:
scatterPlotdataX = categorical(Table_Data_1.Position,plotPositionDataset1);
scatterPlotdataY = Table_Data_1.values;
scatter(scatterPlotdataX,scatterPlotdataY,20,"red","o","LineWidth",0.7,"DisplayName","Test1");
Then I repeat the process for all three, which results in the second from figure above.
How can I create a plot that looks like the first figure above? I looked at swarm plots, but that isn't exactly what I want.
답변 (1개)
Star Strider
2024년 1월 15일
1 개 추천
댓글 수: 6
Daniel Neyers
2024년 1월 15일
편집: Daniel Neyers
2024년 1월 15일
Star Strider
2024년 1월 15일
My pleasure!
I believe that you’re using it correctly. My only other suggestion is to see if you can find something in the Data Distribution Plots — Examples documentation section, and the other plot examples. And another option is to see if something exists in the File Exchange. I don’t know of any plots other than swarmchart that resemble your example.
Daniel Neyers
2024년 1월 15일
편집: Daniel Neyers
2024년 1월 15일
Star Strider
2024년 1월 15일
O.K.
I’ll leave my Answer here up, since I already invested some time in it, however it’s likely that there is no pre-defined graphics function that will do exactly what you want. Note that the Statistics and Machine Learning Toolbox boxplot function is similar to although not exactly the same as the core MATLAB boxchart function.
I encourage you to look through the other Toolbox plot functions (there may be hundreds of them among the various Toolboxes) to see if there is one that may exist that will do what you want.
Daniel Neyers
2024년 1월 15일
Star Strider
2024년 1월 15일
My pleasure!
카테고리
도움말 센터 및 File Exchange에서 Discrete Data Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
