How to Merge Color using "Area" Command?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Benjamin
am 8 Apr. 2021
Beantwortet: Star Strider
am 8 Apr. 2021
Hello
Dear experts,
I need to find a way around the fact that by using the area command in MATLAB, the new plotted color on top of the previous color. Is there any way that the colors merge?
Take a look at the figures below, please.
area([1 2 3],'FaceColor','red');hold on
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/577447/image.png)
area([.5 .6 .7],'FaceColor','blue');hold on
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/577452/image.png)
But I want the colors red and blue merge and turn into what ever color it will, for example purple in this case.
P.S. I already know that I can simply use the purple color in the example above, but because my actual MATLAB program are couple of curves, and I need to also see the color beneath the upper colors, that's why I tried to put an easy example here.
I appreciate your help in advance.
Regards.
1 Kommentar
Akzeptierte Antwort
Star Strider
am 8 Apr. 2021
With respect to patch, set 'FaceAlpha'; of both to 0.5 (or anything less than 1) to see the two patches overlap, with appropriate colour mixing.
Example —
x = linspace(0, 3);
y1 = 1 + x/2;
y2 = 0.5 + x/5;
figure
patch([x, fliplr(x)], [y1, zeros(size(y1))], 'b', 'FaceAlpha', 0.8)
hold on
patch([x, fliplr(x)], [y2, zeros(size(y2))], 'r', 'FaceAlpha', 0.3)
hold off
Esperiment to get the result you want.
0 Kommentare
Weitere Antworten (1)
Adam Danz
am 8 Apr. 2021
You can use a patch object with interpolated face color.
This example in the documentation shows how to do this. Once you get it started, if you have any trouble, share what you've got, describe the new problem, and I can nudge you along in the right direction.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!