
How to plot z values against year in x-axis and months in y-axis?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    shravani banerjee
 el 17 de Abr. de 2020
  
I have a CSV file with rainfall values of a place. The rainfall values are places with respect to year (rows) and month(columns). See the attached file. I need to plot a contour plot of rainfall values against year and months with years in x-axis and months in y-axis. KINDLY HELP ME OUT. Thanks in advance!
0 comentarios
Respuesta aceptada
  Ameer Hamza
      
      
 el 17 de Abr. de 2020
        
      Editada: Ameer Hamza
      
      
 el 17 de Abr. de 2020
  
      try this
T = readtable('RAINFALL_1980.csv');
years = T.YEAR;
months = T.Properties.VariableNames(2:end);
values = T{:,2:end}';
y = years;
m = 1:12;
[Y,M] = meshgrid(y,m);
f = figure();
ax = axes();
surf(Y,M,values);
xlim([min(years) max(years)]);
ylim([1 12]);
ax.YTickLabel = months(ax.YTick);

0 comentarios
Más respuestas (1)
  dpb
      
      
 el 17 de Abr. de 2020
        
      Editada: dpb
      
      
 el 17 de Abr. de 2020
  
      [Y X]=meshgrid([1:12],tRAIN.YEAR);
contour(X,Y,tRAIN{:,2:end})
yticklabels(tRAIN.Properties.VariableNames(2:end))
Just for comparison, the contour plot originally asked for looks like...

months() must postdate R2019b have here...
ADDENDUM:
NB:  One can also use just the two vectors and dispense with the explicit meshgrid call...just have to transpose so X variable matches number of columns in Z.
contour(tRAIN.YEAR,[1:12],tRAIN{:,2:end}.')
produces same plot as above.  I'm pretty sure same trick works with surf.
The transpose is same thing as reversing [X Y] in meshgrid (as note both Answers do).  A more user-friendly implemenation could take care of that internally at the cost of more input-processing overhead.
0 comentarios
Ver también
Categorías
				Más información sobre Contour 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!


