define different color for area
17 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Kelly Kearney
2021 年 11 月 17 日
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 件のコメント
その他の回答 (2 件)
Image Analyst
2021 年 11 月 17 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Graphics Object Programming についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!