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.

alt text

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, 04:01

Linux404's gravatar image

Linux404
29416
Akzeptiert: 62%

bearbeitet 15 Sep '16, 04:37

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.

(15 Sep '16, 04:26) NobbZ

das habe ich mir auch gedacht. aber eine lösung im code gibt es nicht?

(15 Sep '16, 04:34) Linux404
(15 Sep '16, 09:00) esdd

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}
Permanenter link

beantwortet 15 Sep '16, 06:49

Linux404's gravatar image

Linux404
29416

Man sollte bei pgfplots übrigens immer die Kompatibilität deklarieren. Siehe Option compat in der Anleitung.

(15 Sep '16, 08: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, 08:57) esdd
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×196
×3

Frage gestellt: 15 Sep '16, 04:01

Frage wurde angeschaut: 948 Mal

Zuletzt aktualisiert: 15 Sep '16, 09:00