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

1 visualizzazione (ultimi 30 giorni)
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

Risposte (1)

darova
darova il 19 Feb 2021
Use plot3 instead of scatter3
Scatter is verry expensive function

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by