pcolor and contour in the same map

77 views (last 30 days)
Miguel andres
Miguel andres on 9 May 2020
Answered: Georgy Shapiro on 1 Nov 2022
Hey all,
My problem is that I want to overlay to a pcolor of velocities in a curvilinear grid, the contour of another array that contains the batimetry ( I just one the line of 0 meters)
When I try just to hold on one figure and plot the otherone, the colorbar change and the contour line doesn't appear.
Thak you in advice,
Miguel.
  2 Comments
Tommy
Tommy on 9 May 2020
Can you provide what you've tried so far?
Miguel andres
Miguel andres on 9 May 2020
Yeah, here it is. Where peak_mod_atl and bat_final are 40x144. I want to plot the contour of the coast and some depths.
peak_vel_atl=pcolor(lon,lat,peak_mod_atl);colormap jet; colorbar
peak_vel_atl,EdgeAlpha=0
shading interp
hold on
contour_bat=contour(bat_final,[0,0],'k')

Sign in to comment.

Answers (2)

Ameer Hamza
Ameer Hamza on 9 May 2020
Edited: Ameer Hamza on 9 May 2020
This shows an example of overlaying contour and pcolor. You need to use the FaceAlpha property to make the surface make by pcolor transparent
x = linspace(-1,1);
y = linspace(-1,1);
[X, Y] = meshgrid(x, y);
Z = X.^2 + Y.^2;
pcolorData = sin(X) + cos(Y);
figure;
ax = axes();
hold(ax);
c = contour(X, Y, Z);
p = pcolor(X, Y, pcolorData);
p.FaceAlpha = 0.2;
colorbar;
  2 Comments
Miguel andres
Miguel andres on 9 May 2020
Thak you really much. But my problem is that the datas for the contour and the pcolor are different.
Ameer Hamza
Ameer Hamza on 9 May 2020
I also used different data for both. Are you getting unexpected output?

Sign in to comment.


Georgy Shapiro
Georgy Shapiro on 1 Nov 2022
A simple way to overlay a contour plot over pcolor can be seen from this example
p=pcolor(peaks(250));shading flat; colorbar; caxis ([-8 8 ])
hold on
contour(peaks(150),'k','LineWidth',0.5,'Show','on');
Here the data used in pcolor and contour are different and unrelated. If you wish to highlight your pcolor plot with the same data used for contours you can do it like this
p=pcolor(peaks(250));shading flat; colorbar; caxis ([-8 8 ])
hold on
contour(peaks(250),'k','LineWidth',0.5);

Categories

Find more on Contour 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!