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

13 vues (au cours des 30 derniers jours)
John Deer
John Deer le 19 Fév 2021
Réponse apportée : darova le 19 Fév 2021
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

Réponses (1)

darova
darova le 19 Fév 2021
Use plot3 instead of scatter3
Scatter is verry expensive function

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by