How to plot a color shade instead of graph curves?
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I have say a lot of vertical curves overlapping each other as shown in te figure below: FIG 1, I want to plot them like color shade an example is shown below in FIG 2. How I can do it?
FIG 1
FIG 2
5 个评论
Image Analyst
2022-4-19
@Nisar Ahmed make it EASY for people to help you and they will. If you don't want to share your actual data, then make up something, like a for loop where you create a bunch of noisy sine waves or something. Don't make other people do that just to help you. You should do that for them, otherwise they'll just move on to another question.
There is nothing built in to MATLAB that does that so you'll have to use custom code. I know there was a question on that a few years ago and I answered it but I don't have the link right now.
回答(2 个)
KSSV
2022-4-19
How about this approach?
load('p0_t.mat') ;
x = t ;
y0 = min(p0(:)) ;
y1 = max(p0(:)) ;
y = linspace(y0,y1,300) ;
[X,Y] = meshgrid(x,y) ;
Z = NaN(size(X));
tt = repelem(t,7,1) ;
tt = tt' ;
m = 70 ; % can be changed
idx = knnsearch([X(:) Y(:)],[tt(:) p0(:)],'k',m) ;
for i = 1:m
Z(idx(:,i)) = p0(:) ;
end
p = pcolor(X,Y,Z) ;
p.EdgeColor = 'none' ;
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Line Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!