Converting 2D plot into a 3D with 3rd axis being steps.
1 view (last 30 days)
Show older comments
Suhas Nuggehalli Sampathkumar
on 11 Jun 2020
Commented: Suhas Nuggehalli Sampathkumar
on 13 Jun 2020
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?
0 Comments
Answers (1)
Ameer Hamza
on 11 Jun 2020
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 Comments
Ameer Hamza
on 13 Jun 2020
How are you creating the figure is not clear. Can you share the .fig file for this surface?
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
