Change colour of all scatter points above/below a reference line
조회 수: 1 (최근 30일)
이전 댓글 표시
My aim is to have a plot that has all scatter points above the diagonal a different colour than the points below the diagonal.
I came across answers for colouring partcular points in the plot that are already known. But In my case I have n number of plots that have random scatter points. The only thing common in all the n plots is the diagonal line and the x,y scale.
figure()
A = [1,3,5,7,2,5,3,7,9,5]; % A and B are examples of one of the n plot data
B = [2,6,3,5,8,6,4,2,7,3];
Diag_X = [0,10]; % Diag_X and Diag_Y form a reference line that is common in all the plot data
Diag_Y = [0,10];
scatter (A, B, '*');
hold on
plot (Diag_X, Diag_Y, 'k');
I'd like a function that could be used on any of the n scatter plots such the diagonal line is taken a reference and all the points above it are red and all below all blue.
댓글 수: 0
채택된 답변
Walter Roberson
2021년 2월 15일
colormap = [1 0 0; 0 0 1]; %red, blue -> above, below
A = [1,3,5,7,2,5,3,7,9,5]; % A and B are examples of one of the n plot data
B = [2,6,3,5,8,6,4,2,7,3];
Diag_X = [0,10]; % Diag_X and Diag_Y form a reference line that is common in all the plot data
Diag_Y = [0,10];
idx = 1 + (A > B);
color = colormap(idx,:);
pointsize = 15;
scatter (A, B, pointsize, color, '*');
hold on
plot (Diag_X, Diag_Y, 'k');
hold off
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Scatter Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!