How to color the atomic position in 3D scatter plot

2 views (last 30 days)
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.

Accepted Answer

Star Strider
Star Strider on 11 Sep 2020
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:
.

More Answers (0)

Categories

Find more on Color and Styling in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!