How to plot a table in a way that first column and first raw are x and y axis?
    1 visualización (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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
A = readmatrix ('Y1.csv');
x = A(:,1) ; 
y = A(1,:) ; 
z = A(2:end,2:end) ; 
z = transpose(z)
    surf (x, y, z)
    shading interp
0 comentarios
Respuesta aceptada
  dpb
      
      
 el 1 de Mayo de 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 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

