Area plot matlab colors
조회 수: 44 (최근 30일)
이전 댓글 표시
Hi there,
I have a Matlab script like this :
b2=area([array1+array2-array3+array4],'EdgeColor','none','FaceAlpha',0.3); %array1,2,3,4 are equal size arrays
In this way, the sum inside brackets has the same color and I would like each array of this sum to have different color. How can I specify it to have 4 different colors, 1 for each array?
Thank you for your time.
댓글 수: 0
채택된 답변
Star Strider
2022년 11월 12일
With so little information, I can only suggest one approach, that being serial area calls or concatenating the ‘array’ variables.
Perhaps —
% x = 1:10;
array1 = rand(1,10);
array2 = rand(1,10);
array3 = rand(1,10);
array4 = rand(1,10);
figure
b2=area([array1+array2-array3+array4],'EdgeColor','none','FaceAlpha',0.3);
xlim([1 10])
title('Original')
figure
b2=area([array1; array2-array3; array4].','EdgeColor','none','FaceAlpha',0.3);
xlim([1 10])
title('Separated & Concatenated 1')
figure
b2=area([array1; array2; -array3; array4].','EdgeColor','none','FaceAlpha',0.3);
xlim([1 10])
title('Separated & Concatenated 2')
This operation:
array2-array3
may prevent the vectors in that term from being separated into two different arrays. I present two different way s of dealing with it here
.
댓글 수: 5
추가 답변 (1개)
KSSV
2022년 11월 12일
figure
hold on
area(array1,'EdgeColor','none','FaceColor','r');
area(array2,'EdgeColor','none','FaceColor','b');
area(array3,'EdgeColor','none','FaceColor','g');
area(array4,'EdgeColor','none','FaceColor','m');
See to it that, the areas are in the decreasing order.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!