How do I plot a transparent contour and its colour?

5 views (last 30 days)
Hello,
I have the following contour map with 3 zones from 3 sets of contour data, set to show just a single level, generated by the following code:
contourf(X,Y,ContourData1,[0.2,0.2],'LineWidth',2)
hold on
contourf(X,Y,ContourData2,[0.15,0.15],'LineWidth',2)
hold on
contourf(X,Y,ContourData3,[0.1,0.1],'LineWidth',2)
How do I make the coloured regions transparent, as well as change their colours? Currently the colours are default for the levels that each contour displays. I want something that looks like this:
Thanks

Answers (1)

Alan Stevens
Alan Stevens on 27 Sep 2020
Possibly by assigning a handle like so:
h = contourf(X,Y,ContourData1,[0.2,0.2],'LineWidth',2);
then setting
h.CurrentObject.FaceAlpha = 0.2;
where you can replace 0.2 with a number between 0 and 1 until you get the degree of transparency you want.
I've not tested this on your figure as I don't have access to ContourData1, 2 and 3.
  2 Comments
Hamid Attar
Hamid Attar on 27 Sep 2020
Edited: Hamid Attar on 27 Sep 2020
It doesn't work.
Please assume ContourData 1 2 3 are from the Peaks function, or some other readily available built-in matlab function for testing.
And what about the colours?
Alan Stevens
Alan Stevens on 27 Sep 2020
Hmm. I used the patch function in my test. It looks like contourf doesn't have transparency control (other than on or off).

Sign in to comment.

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!