How to color the atomic position in 3D scatter plot

Hi there,
I have a txt data from simulated image. I load the txt and use scattering 3D fucntion to plot the x,y and z coordination.
what I want to do is colot the Fe and O and visualize them in 3D scattering. I want to distangush between the Fe and O.

 Réponse acceptée

Try this:
T1 = readtable('Fe3O4_1.txt');
x = T1.Var4;
y = T1.Var5;
z = T1.Var6;
[AtomLbl,ID] = findgroups(T1.Var2);
FeLbl = (AtomLbl == 1);
OLbl = (AtomLbl == 2);
figure
Feh = scatter3(x(FeLbl), y(FeLbl), z(FeLbl), AtomLbl(FeLbl)*20, AtomLbl(FeLbl), 'filled');
hold on
Oh = scatter3(x(OLbl), y(OLbl), z(OLbl), AtomLbl(OLbl)*30, AtomLbl(OLbl), 'filled');
hold off
grid on
axis('equal')
colormap([1 0 0; 0 1 0])
legend([Feh, Oh], ID)
xlabel('x')
ylabel('y')
zlabel('z')
producing:
.

2 commentaires

Sara
Sara le 11 Sep 2020
prefect answer, thank you for your help.
Thank you! As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Images dans Centre d'aide et File Exchange

Produits

Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by