# How to plot a table in a way that first column and first raw are x and y axis?

21 vues (au cours des 30 derniers jours)
Masoud Taleb le 1 Mai 2020
Modifié(e) : dpb le 1 Mai 2020
Hello
I have a table of data in csv format (shown below) and want to plot them in Matlab using surf function. First column and first row are the x and y axis. Middel onse are collected data. It seems reading raw is a problem in Matlab. Can anyone suggest an easy way to plot such a table? All my tries failed :(
my data look like this in csv file:
0 100 200 300 400
330 53 45 76 22
340 21 34 32 87
x = A(:,1) ;
y = A(1,:) ;
z = A(2:end,2:end) ;
z = transpose(z)
surf (x, y, z)
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

dpb le 1 Mai 2020
There is no data for the (0,0) coordinate so it can't be in the X,Y vectors---and the Z array must be size(Z)-->[m,n] where X,Y correspond to [m,n]. IOW, you don't transpose...
x = A(2:end,1); % don't include origin; no data point available
y = A(1,2:end); % ditto
z = A(2:end,2:end) ;
surf (x, y, z)
##### 2 commentairesAfficher AucuneMasquer Aucune
Masoud Taleb le 1 Mai 2020
Thank you very much. I got the point. Your written code worked after I added transpose to it. So, everything is fine now :)
dpb le 1 Mai 2020
Modifié(e) : dpb le 1 Mai 2020
My code works as written; I see you used the alternate for X and Y than I did...I thought I pulled that from your original posted code, too, but apparently not.

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by