私は2つの階段状グラフの交差する領域を強調表示しようとしています。私は交差領域内の点を選択することができ、うまくいかなかったpatchコマンドで塗りつぶした形を作成したかったのです。しかし、いくつかの点を除外しなければならず、交点を追加する必要があります。どちらか動作しませんでした階段状グラフの重なり領域をどのように強調できますか?
x = pc_bh(1, :);
y = pc_bh(2, :);
x = [x; x];
y = [y; y];
area(x([2:end end]),y(1:end))
hold on;
x = pc_bh(3, :);
y = pc_bh(4, :);
x = [x; x];
y = [y; y];
area(x([2:end end]),y(1:end))
し、それらを交差し、:
もう一つのアイデアは、と階段のグラフのように見える2つの面積グラフを作成することでした。ここ
は、所望の結果は次のとおり
ここ交差領域内の点にマーカーとプロットは次のとおり
マーカーのコードは非常に単純である。
pointsA = [];
pointsB = [];
lowerLimit = pc_bh(3, 1);
upperLimit = pc_bh(1, 11);
for entry=2:11
if pc_bh(1, entry) >= lowerLimit && pc_bh(1, entry) <= upperLimit
pointsA = vertcat(pointsA, [pc_bh(1, entry), pc_bh(2, entry)]);
pointsA = vertcat(pointsA, [pc_bh(1, entry), pc_bh(2, entry) + 1/10]);
end
if pc_bh(3, entry) >= lowerLimit && pc_bh(3, entry) <= upperLimit
pointsB = vertcat(pointsB, [pc_bh(3, entry), pc_bh(4, entry)]);
pointsB = vertcat(pointsB, [pc_bh(3, entry), pc_bh(4, entry) - 1/9]);
end
end
plot(pointsA(:, 1), pointsA(:, 2), 'xr');
plot(pointsB(:, 1), pointsB(:, 2), 'xb');
データセットは、第1 /第2行が第1グラフのx/y値を含み、第3 /第4行が第2グラフのx/y値を含む4×11行列である。
これは、使用されるデータセットである:
0.99754 0.99754 0.99772 0.99790 0.99808 0.99821 0.99842 0.99870 0.99886 0.99900 0.99918
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0.99873 0.99873 0.99899 0.99918 0.99928 0.99945 0.99969 0.99973 0.99987 0.99993 0.99993
0 0.11111 0.22222 0.33333 0.44444 0.55555 0.66666 0.77777 0.88888 1 1