How to smooth the NaN values in the contour plot?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi I have a csv file attached and I have to plot a contour plot w.r.t date time and z values. It contains some blank data which the Matlab takes as NaN. When I am plotting I am not getting a smooth curve around the NaN values as other values. Can anyone help me out?![Screenshot (5).png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145074/Screenshot%20(5).png)
![Screenshot (5).png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145074/Screenshot%20(5).png)
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,3};
day={};
for i=1:length(x)
p=x(i); p=char(p);
n='00:00';
% 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 = 1443 ;
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);
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Data Preprocessing 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!