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!

