Die Fläche zwischen zwei (hier vereinfachten) Graphen kann mit pgfplots zum Beispiel so gefüllt werden:
Nun soll aber die Farbe der Fläche grün sein, wenn der grüne Graph oberhalb des roten liegt. Im umgekehrten Fall soll die Fläche dagegen rot gefüllt werden. Wie kann ich das erreichen? gefragt 13 Nov '13, 17:23 esdd |
Da Version 1.10 von Open in writeLaTeX
\documentclass[margin=5mm]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.10} % mit writeLaTeX bisher noch nicht möglich \usepgfplotslibrary{fillbetween} \usepackage{filecontents} \begin{filecontents}{plotdata.dat} -2.5 0.5 -0.5 -1 -1 1 0 0 0 1 1 -1 2.5 -0.5 0.5 \end{filecontents} \begin{document} \begin{tikzpicture} \begin{axis} \addplot[name path=plot1,green]table[x index={0}, y index={1}]{plotdata.dat}; \addplot[name path=plot2,red]table[x index={0}, y index={2}]{plotdata.dat}; % Füllung zwischen plots \addplot fill between[ of=plot1 and plot2, split, % Segmente berechnen lassen, Zählung beginnt bei 0 (also gerader Zahl) every even segment/.style= {green!10}, % Stil für die geraden Segmente every odd segment/.style={red!10}, % Stil für die ungeraden Segmente ]; \end{axis} \end{tikzpicture} \end{document} beantwortet 05 Mär '14, 10:51 esdd |
Als erstes muss man die Schnittpunkte der Plots bestimmen. Dann vier weitere Datensätze hinzufügen und jeweils in den Abschnitten zwischen zwei Schnittpunkten Null setzen:
beantwortet 14 Nov '13, 21:08 sudo |
Automatische unterstuetzung fuer so ein Feature ist gerade in Arbeit. Voraussichtlich wird pgfplots ab der naechsten Version diese Aufgabe unterstuetzen.
@cfeuersaenger: Super, dann ist ja eine praktikable Lösung in Aussicht.