Как создать контурный сюжет? - PullRequest
0 голосов
/ 21 января 2019

Как сделать контурную диаграмму относительно даты (ось x), времени (ось y) и значения z как переменной, которая изменяется относительно x и y? Я также прилагаю свои данные и код, который я использую. Но я не получаю плавных кривых вокруг значений NaN. Может кто-нибудь помочь мне в коде.

fid=fopen('D:\NSSS_2019\INSAT_3D.csv');
for i=1
  tline=fgets(fid);
  end
data=textscan(fid,'%s %s %f %f %f %f %f %f %f %f','Delimiter',',');

x=data{1,1};  y=data{1,2}; z=data{1,10};

day={};

for i=1:length(x)

p=x(i); p=char(p); m=y(i); m=char(m);
len=length(m);

if len<5
   n=strcat('0',m);
else
   n=m; 
end

d=strcat(p,n);
day{i}=d;
 end

day=day';
day1=datenum(day,'dd');


newStr = strrep(y,':','.');
time1=[];
for k=1:length(newStr)
aa=newStr(k);
new=str2num(char(aa));
time1(k)=new;
end
time1=time1';
% Grid 
x0 = min(day1) ; x1 = max(day1) ;
y0 = min(time1) ; y1 = max(time1) ;
N = 1488 ;
xl = linspace(x0,x1,N) ; 
yl = linspace(y0,y1,N) ; 
[X,Y] = meshgrid(xl,yl) ;
%% do inteprolation 
P = [day1,time1] ; V = z ;
F = TriScatteredInterp(P,V) ;
F.Method = 'natural';

pq = [X(:),Y(:)] ; 
 vq = F(pq) ;
Z = vq ;
Z = reshape(Z,size(X)) ;
contourf(X,Y,Z) ;
datetick('x','dd');
hcb=colorbar

CSV-файл данных

1 Ответ

0 голосов
/ 21 января 2019

Вы можете создать свой сюжет с помощью cftool.Единственное требование - аргументы и изображение функции.Затем вы можете экспортировать все в рабочую область

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...