您将如何在Matlab中产生与此类似的分类散点图?



响应this question,以上图表是在R中生成的。

最佳答案

您可以使用jitter的未记录的scatter属性:

% 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)])


结果是:

10-02 22:21