Bei meinem Scatter-Diagramm habe ich mehrere Punkte die sich überlappen. Angenommen es gibt zwei Punkte die sich ein wenig überlappen. Welche Farbe (Farbe Punkt1 oder Farbe Punkt2) der Schnittmenge genommen wird ist nicht eindeutig bestimmt. (Welche Farbe deckend ist.) Ich möchte gerne jenen Punkt der den höheren Wert (3te Spalte "myvalue") besitzt mit dieser Farbe die Schnittmenge einfärben. Ist das irgendwie realiserbar? Danke. Open in Online-Editor
\documentclass{article} \usepackage{tikz,pgfplots} \begin{document} \begin{tikzpicture} \begin{axis}[enlargelimits=0.2,colorbar] \addplot[ scatter,mark=*,only marks, point meta=\thisrow{myvalue} ] table { x y myvalue 0.5 0.63 0.25 3.2 5.91 0.75 0.7 0.119 0.125 0.35 0.2 2 3.65 0.7 0.175 0.2 0.35 0.225 0.7 0.63 0.275 0.35 0.91 3 0.65 0.119 0.325 0.2 0.2 0.375 2.7 0.7 0.425 0.35 3.35 4 7.65 0.63 0.475 0.2 0.91 0.525 0.65 0.119 0.575 6.2 0.147 5 0.7 0.175 0.625 0.35 3.203 0.675 0.65 2.231 0.725 0.2 0.259 6 5.65 0.287 0.775 0.2 0.315 0.825 0.7 0.343 0.875 0.35 0.371 7 0.65 0.399 0.925 0.2 0.427 2 }; \end{axis} \end{tikzpicture} \end{document} gefragt 15 Sep '16, 10:01 Linux404 |
Open in Online-Editor
\documentclass{article} \usepackage{pgfplots} \begin{document} \begin{tikzpicture} \begin{axis}[enlargelimits=0.2,colorbar, view={0}{90} % view the plot from the top ] \addplot3[ scatter,mark=diamond*,only marks, point meta=\thisrow{myvalue}, z buffer=sort ] table { x y myvalue 0.5 0.63 0.25 3.2 5.91 0.75 0.7 0.119 0.125 0.35 0.2 2 3.65 0.7 0.175 0.2 0.35 0.225 0.7 0.63 0.275 0.35 0.91 3 0.65 0.119 0.325 0.2 0.2 0.375 2.7 0.7 0.425 0.35 3.35 4 7.65 0.63 0.475 0.2 0.91 0.525 0.65 0.119 0.575 6.2 0.147 5 0.7 0.175 0.625 0.35 3.203 0.675 0.65 2.231 0.725 0.2 0.259 6 5.65 0.287 0.775 0.2 0.315 0.825 0.7 0.343 0.875 0.35 0.371 7 0.65 0.399 0.925 0.2 0.427 2 }; \end{axis} \end{tikzpicture} \end{document} beantwortet 15 Sep '16, 12:49 Linux404 Man sollte bei
(15 Sep '16, 14:56)
saputello
Es wäre gut gewesen, schon bei Deiner Frage zu erwähnen, dass Du diese ebenfalls bei stackexchange gestellt hast. Hier gehört jetzt aber in jedem Fall der Hinweis hin, dass "Deine" Antwort nur eine Kopie von Jakes Lösung auf tex.stackexchange.com ist.
(15 Sep '16, 14:57)
esdd
|
Abgesehen davon, dass deine Fragestellung etwas unverständlich ist, malt TikZ in der Reihenfolge die im Source definiert ist und zuletzt gezeichnete Objekte werden die zuerst gezeichneten Objekte üpber-/verdecken. Zeichne also einfach die Punkte in Aufsteigender Reihenfolge.
das habe ich mir auch gedacht. aber eine lösung im code gibt es nicht?
Die Frage wurde auch auf tex.sx gestellt: Overlapping (intersection) of two points is wrong. It should depends on which value is higher