Как построить многомерный массив в Matlab? - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть следующая таблица

system:index 2017_06_18 2017_06_19 2017_06_20 2017_06_21 2 612.8099664 1174.656713 1282.083251 815.3828357 3 766.4103726 1345.135952 1322.726083 749.998993 4 765.0230453 1411.669136 1350.437586 610.9541838 5 553.5858458 1374.14789 1152.086957 566.7924468 6 466.9780908 1311.903756 1060.494001 559.1982264 7 257.1162602 1270.182385 988.5455285 562.9224932 8 230.6611542 1310.971988 1001.548768 502.3266959

Я хочу построить 2-цветную карту, представляющую систему: индекс как ось y, даты как ось x и значения под датами как цвета,Я попытался с помощью следующего кода, но он не дал того, что я хочу.

  clear
  clc
  filename = 'TurbidityDailyMean.xlsx';
  data = xlsread(filename,'TurbidityDailyMean','A1:E8');

  figure;
  hold on

  for i = 2:5
     y = data(:,1);
     x = data(:,i);
   plot(x,y) 
  end

Мне нужно отобразить карту цветов, как указано выше.Но из того, что я попробовал, это дает что-то еще.И еще один факт, что я не могу вставить систему: индекс и строку дат в Matlab с соответствующими данными.

1 Ответ

0 голосов
/ 19 сентября 2018

Благодаря моему руководителю, доктору Кавинде, введите описание изображения здесь Решение, которое я принял от него, было следующим:

data1 = csvread('TurbidityDailyMean.csv',1,1);
[mm,nn]=size(data1)
xx=ones(mm,nn);
yy=ones(mm,nn);
for j=1:nn
        xx(:,j)=j;
end
for i=1:mm
        yy(i,:)=i;
end
zz=data1;


h1=pcolor(xx,yy,zz);
shading flat 
set(gcf,'color',[1,1,1])
axis([1 5 1 7]);

jet2=jet;
jet2(1,:)=1.0;
colormap(jet2)
caxis([0.0 0.13])

hold on
xlabel('Julian Day');
ylabel('y (?~1 km)');
colorb=colorbar;
set(get(colorb,'ylabel'),'String','Normalized Red Band Reflectance','fontsize',15, 
'color', 'k');
set(get(colorb,'xlabel'),'fontsize',20, 'color', 'k');
grid on
...