Converting 2D plot into a 3D with 3rd axis being steps.
古いコメントを表示
Hi.
I have a for loop, which loads data from set of an excel files as temperory table with two columns and plots a 2d plot. Using the 'hold on; option, i'm able to get a 2D graph which includes data from all the files. The excel file is data recorded from experiment to test degradation. Each excel file represents evolution of the peaks. I would like to have a 3D plot with constant depth - as a funtion of steps (which I can include as a vector as my steps are limited to 7). So basically it's like converting a 2D plot to 3D to avoid cluttering of information. An example that can be taken is that of 'asin(bx)' funtion with changing values of a and b. The only problem i'm facing is that these values are loaded as vectors and not matrices. Could anyone suggest me a simple way to use 3 vectors of which 2 vectors are of same length (approx 300 paired data points), and the third vector of different length (steps - [1 2 3 4 5 6 7]) to be plotted in a 3D graph?
回答 (1 件)
Ameer Hamza
2020 年 6 月 11 日
Run this example
x = linspace(0, 2*pi, 1000);
B = [1 2 3 4 5];
ax = axes();
hold(ax);
view(ax, 3)
grid on;
for i=1:numel(B)
b = repmat(B(i), size(x));
y = sin(b.*x);
plot3(x, b, y);
end
xlabel('x');
ylabel('b');
zlabel('y');
5 件のコメント
Suhas Nuggehalli Sampathkumar
2020 年 6 月 11 日
編集済み: Suhas Nuggehalli Sampathkumar
2020 年 6 月 11 日
Ameer Hamza
2020 年 6 月 12 日
If you want to use surf() then you first need to calculate all the points and then call surf(). For example
x = linspace(0, 2*pi, 100);
B = [1 1.2 1.4 1.6 1.8 2];
[xg, Bg] = meshgrid(x, B);
y = zeros(size(xg));
for i=1:numel(B)
b = B(i);
y(i,:) = sin(b.*x);
end
ax = axes();
surf(xg, Bg, y);
xlabel('x');
ylabel('b');
zlabel('y');
Suhas Nuggehalli Sampathkumar
2020 年 6 月 12 日
Ameer Hamza
2020 年 6 月 13 日
How are you creating the figure is not clear. Can you share the .fig file for this surface?
Suhas Nuggehalli Sampathkumar
2020 年 6 月 13 日
カテゴリ
ヘルプ センター および File Exchange で 2-D and 3-D Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

