A more (computational) performant way to plot multiple scatter3 plots in a figure

2 次查看(过去 30 天)
I often need to plot multiple scatter3 plots in one figure.
My usual way works fine and is like this:
figName = 'Something';
figure('Name',figName,'Numbertitle','off');
hold on;
for(cnt = 1:size(patchListe,1))
xval = patchListe{cnt,5}(:,1);
yval = patchListe{cnt,5}(:,2);
zval = patchListe{cnt,5}(:,4);
xmed = mean(xval);
ymed = mean(yval);
zmax = max(zval) ;
scatter3(xval,yval,zval,1,zval);
text(xmed,ymed, zmax, num2str(cnt));
end
colormap(jet(200)); colorbar;
title(['Something else', 'Interpreter', 'none');
grid on;
The result is the desired plot.
But the plot is very lazy.
Working with the plot, like Changing colormap or close the figure, takes several seconds
Is there a way to get a more performant and quicker working plot?
Btw: opengl is in fully hardware support mode

回答(1 个)

darova
darova 2021-2-19
Use plot3 instead of scatter3
Scatter is verry expensive function

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by