define different color for area
29 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Gianluca De Monaco
le 17 Nov 2021
Réponse apportée : Kelly Kearney
le 17 Nov 2021
Having diagramed the T function, I would like to color the upper triangle red and the lower one blue, without necessarily having to create two distinct areas. It's possible?

n = 10;
Le = 10000;
xn = linspace(0,Le,n+1);
T = 89250-357*xn/20;
taglio = area(xn,T);
0 commentaires
Réponse acceptée
Kelly Kearney
le 17 Nov 2021
I don't think an area plot allows for multiple colors within a single area object. You could accomplish the color change using a patch object instead, but then you need to manually add the appropriate baseline:
n = 10;
Le = 10000;
xn = linspace(0,Le,n+1);
T = 89250-357*xn/20;
xp = [xn xn(end) xn(1) xn(1)];
yp = [T 0 0 T(1)];
cp = sign(yp);
hp = patch(xp, yp, cp);
set(gca, 'clim', [-1 1], 'colormap', [1 0 0; 0 0 1]);
I think it would be more straightforward to just use two area objects instead:
T1 = max(T, 0);
T2 = min(T, 0);
taglio1 = area(xn, T1, 'facecolor', 'b');
hold on;
taglio2 = area(xn, T2, 'facecolor', 'r');
0 commentaires
Plus de réponses (2)
Image Analyst
le 17 Nov 2021
You can use the FaceColor optio:
n = 10;
Le = 10000;
xn = linspace(0,Le,n+1);
T = 89250-357*xn/20;
taglio = area(xn,T, 'FaceColor', 'r');
You can use a 3 element RGB value instead of a letter if you want a custom color, like
myColor = [.5, .3, .2];
taglio = area(xn,T, 'FaceColor', myColor);
0 commentaires
Voir également
Catégories
En savoir plus sur Lighting, Transparency, and Shading dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!