2017-10-28 204 views
0

我使用scatterplot连续绘制hold on函数,绘制(例如三个)不同的数据集。这会生成散点图,最后一个图层与所有其他图层重叠。 是否有一个(绘图)功能可以随机分散图层?MATLAB中的随机分层非重叠散点图

+0

我想说第一层散射与最后一层不完全重叠。理想情况下,点应该随机出现在第一层或最后一层。像这样的东西:http://www.cell.com/cms/attachment/2061927522/2063377357/gr2_lrg.jpg –

+0

提供你的问题的[MCVE],解释它是如何不同于预期的结果 –

回答

1

你可以通过一个3d图来实现这一点。

使用plot3(而不是plot)创建一个长度与您的x & y矢量相同的深度矢量,并使用随机数绘制图。

然后,您可以使用命令视图(2)来更改观察点,您将获得后面的效果。

f1=figure; 
f2=figure; 
nValues = 2000; 
for dataSet=1:3 
    r1 = rand(nValues,1);  
    r2 = rand(nValues,1);  
    r3 = rand(nValues,1); 
    t = r1 * pi * 2; 
    x = r2 .* cos(t) + r1(1); 
    y = r2 .* sin(t) + r2(1); 
    depth = r3; 
    set(0,'CurrentFigure',f1) 
    plot(x,y,'.', 'MarkerSize',25)  
    hold all 

    set(0,'CurrentFigure',f2) 
    plot3(x,y,depth,'.', 'MarkerSize',25)  
    hold all 
end 
% Change viewpoint 
view(2) 

数据绘制与绘图命令(不同的层) Distinct Layers

数据标绘plot3命令使用Z(深度)的随机值 Random Depth