How to color the atomic position in 3D scatter plot

3 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Color and Styling 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by