- Use “jitter” function to avoid overlapping points, generate a small random jitter for the x-axis positions.
- Use the “scatter” function to plot the data points.
Plotting a categorized dot (scatter?) plot
10 ビュー (過去 30 日間)
古いコメントを表示
I am trying to plot the values in a matrix M such that each column in M is plotted along a distinct vertical line on the x axis. Ideally, I could name each cluster of values with a string (much like a bar or boxplot)
Unfortunately I don't know the exact name of the plot I am trying to recapitulate but it seems like the closest alternative matlab has is the boxplot. If anyone knows the name of the plot I am trying to create, a function capable of doing this or an effective work around, I would be highly appreciative.
0 件のコメント
回答 (1 件)
Samayochita
2025 年 3 月 26 日
Hi Sam,
I think the type of plot you are looking for here is the "strip plot" or "dot plot." A strip plot helps us visualize the distribution of data points within each category.
In MATLAB, we can achieve this using a combination of the “scatter” function and some adjustments to position the points correctly. Here is an example of how you could create such a plot:
1) Define the matrix M that contains the data. Each column in M represents a different category.
M = randn(100, 3);
2) Create a cell array containing the category names. These names will be used as labels on the x-axis.
categories = {'Category 1', 'Category 2', 'Category 3'};
% Number of categories
numCategories = size(M, 2);
3) Plot each category by using a for loop to iterate over each column of the matrix M.
for i = 1:numCategories
jitter = (rand(size(M, 1), 1) - 0.5) * 0.2;
scatter(i + jitter, M(:, i), 'filled');
hold on;
end
4) Set X-ticks and X-tick labels.
% Set x-ticks to be at the center of each category
set(gca, 'XTick', 1:numCategories, 'XTickLabel', categories);
xlabel('Categories');
ylabel('Values');
title('Categorized Dot Plot');
% Adjust axis limits for better visualization
xlim([0.5, numCategories + 0.5]);
For more information on the “jitter” and “scatter” functions, please refer to the following documentation:
I hope this answer was helpful.
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!