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:
How to I make it looks like this?
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?

回答 (1 件)

Simon Chan
Simon Chan 2022 年 7 月 5 日

0 投票

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 件のコメント

mor levi
mor levi 2022 年 7 月 5 日
for some reason this is the output
Simon Chan
Simon Chan 2022 年 7 月 5 日
Is it possible to attach your data or part of your data?
Simon Chan
Simon Chan 2022 年 7 月 5 日
I did Sample A and C for you.
For Sample B and D, the number of data are not consistent.
Sample B and D has 9501 and 8501 data, but y2 nad y4 has 9500 and 8508 data respectively. So you need to correct them first.
clear; clc;
SampleA = readmatrix('SampleA-1st colum.xlsx');
y1 = readmatrix('y1.xlsx');
SampleC = readmatrix('SampleC-1st colum.xlsx');
y3 = readmatrix('y3.xlsx');
figure;
ax = gca;
plot3(ax,SampleA,repelem(1,1,length(SampleA)),y1);
hold(ax,'on');
plot3(ax,SampleC,repelem(2,1,length(SampleC)),y3);
hold(ax,'off');
xlabel(ax,'2theta(degrees)');
zlabel(ax,'Intensity (a.u.)');
ylabel(ax,'');
grid(ax,'on');
ax.YTick = [1 2];
ax.YTickLabel={'(a)','(c)'};
mor levi
mor levi 2022 年 7 月 5 日
It works!
So in order to reproduce this graph to other results each data set should be the same length?
(both x2 same length as y2 as well as x2y2, x3y3 the same length)
Thanks!
Simon Chan
Simon Chan 2022 年 7 月 5 日
Yes, they should be same length.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange2-D and 3-D Plots についてさらに検索

タグ

質問済み:

2022 年 7 月 5 日

コメント済み:

2022 年 7 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by