How to plot a color shade instead of graph curves?
1 view (last 30 days)
Show older comments
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 Comments
Image Analyst
on 19 Apr 2022
@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.
Answers (2)
KSSV
on 19 Apr 2022
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' ;
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!