2015-06-05 139 views
2

您如何在Matlab中生成一个类似于此的分类散点图?中的R产生Matlab中的分类散点图

Categorical scatter plot in R

上述图表中,响应于this question

+0

我会用'subplot' ......这些都是真正的三个独立的地块。或者,您可以缩放每个数据集“x” - 值以适应定义的范围(我会选择'1'),然后只为每个数据添加一个常量。 – Dan

回答

3

您可以使用scatter无证jitter属性:

% create example data 
ydata = rand(50, 3)*2+2; 

[r, c] = size(ydata); 

xdata = repmat(1:c, r, 1); 

% for explanation see 
% http://undocumentedmatlab.com/blog/undocumented-scatter-plot-jitter 
scatter(xdata(:), ydata(:), 'r.', 'jitter','on', 'jitterAmount', 0.05); 

hold on; 

plot([xdata(1,:)-0.15; xdata(1,:) + 0.15], repmat(mean(ydata, 1), 2, 1), 'k-') 

ylim([0 max(ydata(:)+1)]) 

这导致:

Example figure

1

我知道这个帖子是老了,但我最近更新了这个功能,你可能会发现有用的,因为它始终以相同的方式分发点,并允许对点的形状,颜色和分布进行非常高度的个性化。我认为它很好地再现了一些出版物中显示的这些图形的形状。看看,如果你有兴趣

http://www.mathworks.com/matlabcentral/fileexchange/54243-univarscatter

Image of the plots

+0

看起来非常好,一定会试一试!格拉西亚斯... – Giuseppe