3D - XRD plot
19 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi
I wanted to plot 3D waterfall of XRD measurements but even after reading past answeres on the subject I don't succeed..
I have 4 sets of (x,y) as follows:
(Sample A(:,1),y1) % x values are the import of the 1st column from the measurement file that contains many columns but I just need the 1st
(Sample B(:,1),y2)
(Sample C(:,1),y3)
(Sample D(:,1),y4)
the 2D plot looks like this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1055175/image.png)
How to I make it looks like this?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1055180/image.png)
So far I have:
[x,y]=meshgrid(Sample A(:,1),y1, Sample B(:,1),y2, Sample C(:,1),y3, Sample D(:,1),y4);
waterfall(x,y,z);
not sure what Z needs to be....
How can I continue?
0 commentaires
Réponses (1)
Simon Chan
le 5 Juil 2022
Let's see function plot3 can satisfy your requirement or not.
figure;
ax = gca;
hold(ax,'on');
plot3(ax,SampleA(:,1),repelem(1,1,length(SampleA(:,1))),y1);
plot3(ax,SampleB(:,1),repelem(2,1,length(SampleB(:,1))),y2);
plot3(ax,SampleC(:,1),repelem(3,1,length(SampleC(:,1))),y3);
plot3(ax,SampleD(:,1),repelem(4,1,length(SampleD(:,1))),y4);
hold(ax,'off');
xlabel(ax,'2theta(degrees)');
zlabel(ax,'Intensity (a.u.)');
ylabel(ax,'');
ax.YTickLabel={'(a)','(b)','(c)','(d)'};
6 commentaires
Voir également
Catégories
En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!