How to create contour plot within a 2D plot
Show older comments
Hi all,
I have to create such a plot but I have no idea how to do it. Can anyone guide me?
I know the equation for mean overtopping discharge and my question is how to draw the colored area (contour).
Cheers,
Soheil

Answers (1)
Abdolkarim Mohammadi
on 15 Aug 2020
When you want to draw multiple plots within one axes, you should put all of the commands between hold on and hold off.
hold on
plot(...);
scatter(...);
contour(...);
hold off
4 Comments
soheil radfar
on 15 Aug 2020
Abdolkarim Mohammadi
on 15 Aug 2020
Edited: Abdolkarim Mohammadi
on 15 Aug 2020
Regular plot functions (like surf and contour) usually require rectangular matrices. However, non-rectangular patches like the one you posted are made via triangulation. You need to have x, y, and z coordinates of the colored patch in the form of column vectors. Then use delaunay function to triangulate the data. Next you plot the triangles using trisurf. By setting the EdgeColor of the trisurf to remove the mesh, you get the patch like the one you posted. You also need to set the view property of the axes to view the plot in 2D.
soheil radfar
on 17 Aug 2020
Walter Roberson
on 17 Aug 2020
use plot3 for the lines and give a z coordinate that is greater than 0. When you use contourf() the patches it draws are all at z=0
Categories
Find more on Surface and Mesh 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!