How to Create a Surface Plot from Table Data Imported from Excel

29 views (last 30 days)
I am trying to create a surface plot for the excel table shown in the image below using the "surf" function. TetherK and TetherC are my inputs. Power is my output (the white cells). I can't seem to get the surf fucntion to work. I imported the data and have a table in MATLAB for TetherK, TetherC, and my Output (shown below). What do I need to do so that I can make a surface plot from tables in MATLAB?

Accepted Answer

Scott MacKenzie
Scott MacKenzie on 3 Mar 2022
Edited: Scott MacKenzie on 3 Mar 2022
Given some test data (attached) similar to yours...
... a surface plot can be created thus...
M = readmatrix('testdata.xlsx');
[X,Y] = meshgrid(M(1,2:end),M(2:end,1));
Z = M(2:end,2:end);
surf(X,Y,Z);
The test data are random values. Hopefully, your plot will look more interesting.
  1 Comment
Michaela Byrne
Michaela Byrne on 4 Mar 2022
That worked, thanks! I'm including pictures of what I did in MATLAB to get it to work in case anyone else has a similar question to what I had and wants to see what I did.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 3 Mar 2022
x = PlotTestS1.TetherK;
y = PlotTestS2.TetherCn
z = table2array(PlotTestS3) ;
surf(x, y, z, 'edgecolor', 'none')

Categories

Find more on Data Import from MATLAB in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!