J'essaie de mettre en évidence la zone d'intersection de deux graphiques en escalier. J'ai été en mesure de sélectionner les points à l'intérieur de la zone d'intersection et je voulais créer la forme remplie avec la commande patch, ce qui n'a pas fonctionné. Cependant, certains points doivent encore être exclus et le point d'intersection doit être ajouté.Comment puis-je mettre en surbrillance la zone de chevauchement dans un graphique en escalier?
Une autre idée était de créer deux graphiques de la région, qui ressemblent à des graphiques d'escalier avec:
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))
et les entrecroisent, qui ne fonctionne pas non plus.
est ici le résultat souhaité:
est ici un terrain avec des marqueurs sur les points à l'intérieur de la zone d'intersection:
Le code pour les marqueurs est assez simple:
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');
L'ensemble de données est une matrice 4 x 11 où la première/deuxième rangée contient les valeurs x/y pour le premier graphique et la troisième/quatrième rangée les valeurs x/y pour le second graphique.
Ceci est le jeu de données utilisé:
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