Art*_*Art 17 matlab plot scatter figure
我正在尝试绘制散点图,例如:
scatter(coor(:, 2), coor(:, 3), 1, coor(:, 4));
Run Code Online (Sandbox Code Playgroud)
问题是,我有很多坐标要绘制(~100 000).它花了很长时间来绘制它,当我尝试将图形输出到tiff时 - 然后matlab已经死了好几分钟...任何改善绘图的解决方案,或者至少是tiff export?
编辑:忘了提,第三坐标(coor(:,4))是一个颜色代码.
所以,当我使用分散(如上所述)时,我在下面的图像上有类似的东西,这就是我想要看到的东西(只是它超级慢,我无法导出):

当我做:
plot3(coor(:,2),coor(:,3),coor(:,4),'.')
效果不再那么酷(注意:图像不是来自相同的坐标......):

Gun*_*uyf 23
您可以使用绘图,但所有点都具有相同的颜色.但是,您可以在不同的子集中划分集合,并使用自己的颜色绘制每个集合:
N = 100000;
x = rand(N,1);
y = rand(N,1);
C = sin(2*x)+y;
cdivs = 10;
[~, edges] = hist(C,cdivs-1);
edges = [-Inf edges Inf]; % to include all points
[Nk, bink] = histc(C,edges);
figure;
hold on;
cmap = jet(cdivs);
for ii=1:cdivs
idx = bink==ii;
plot(x(idx),y(idx),'.','MarkerSize',4,'Color',cmap(ii,:));
end
colormap(cmap)
caxis([min(C) max(C)])
colorbar
Run Code Online (Sandbox Code Playgroud)

它的响应已经比scatter(x,y,1,C)给出相同的绘图要好很多,但颜色分辨率更高(在我上面的代码中可以调整).
| 归档时间: |
|
| 查看次数: |
17177 次 |
| 最近记录: |