Hallo liebe LaTeX-Freunde,

ich versuche einen mittels \addplot coordinates dargestellten Graph in drei Farben zu unterteilen in Abhängigkeit des abgebildeten Intervalls, was mir leider nicht gelingen möchte. Und zwar sieht mein Graph beispielsweise wie folgt aus:

alt text

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[margin=2mm,tikz]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis equal image,
axis lines=middle,
xmin=-2, xmax=15.5, % Axis limits
ymin=-2, ymax=11.5,
xtick={2,7,12},
ytick=\empty,
]
\addplot[no marks, smooth, samples=500,]
coordinates{(1,3) (2,3.5)(7,7)(8,1)(10,4.5)(11,3.5) (12,7.5) (13,8)};
% \addplot[no marks, smooth, samples=500,red, restrict x to domain=2:7]
% coordinates{(1,3) (2,3.5)(7,7)(8,1)(10,4.5)(11,3.5) (12,7.5) (13,8)};
% \addplot[no marks, smooth, samples=500,blue, restrict x to domain=7:12]
% coordinates{(1,3) (2,3.5)(7,7)(8,1)(10,4.5)(11,3.5) (12,7.5) (13,8)};
\draw[dashed](axis cs:2,0)--(axis cs:2,10);
\draw[dashed](ax![alt text][2]is cs:7,0)--(axis cs:7,10);
\draw[dashed](axis cs:12,0)--(axis cs:12,10);
\end{axis}
\end{tikzpicture}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Im Intervall von 2 bis 7 soll nun mein Graph die Farbe Rot und im Intervall von 7 bis 12 die Farbe Blau annehmen. Meine Idee war es mittels restrict x to domain einfach die einzelnen Teilstücke des Graphen in gewünschter Farbe übereinander abzubilden. Das funktioniert aber nicht wie gewünscht, da dann die smooth Funktion an den Randpunkten der Intervalle nicht mehr beachtet wird und das Ergebnis so aussieht: alt text

Hat hier jemand eine Idee die mich zum Ziel führt?

Dieser Frage ist "Community Wiki" markiert.

gefragt 22 Aug '14, 18:41

Ross's gravatar image

Ross
37591522
Akzeptiert-Rate: 100%


Okay, hab eine Lösung gefunden:

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[margin=2mm,tikz]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{intersections}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis equal image,
axis lines=middle,
xmin=-2, xmax=15.5, % Axis limits
ymin=-2, ymax=11.5,
xtick={2,7,12},
ytick=\empty,
]
\addplot[no marks, smooth, samples=500,name path=f]
coordinates{(1,3) (2,3.5)(7,7)(8,1)(10,4.5)(11,3.5) (12,7.5) (13,8)};
\draw[dashed, name path=i2](axis cs:2,0)--(axis cs:2,10);
\draw[dashed, name path=i7](axis cs:7,0)--(axis cs:7,10);
\draw[dashed, name path=i12](axis cs:12,0)--(axis cs:12,10);
\path [
name path=f2,
intersection segments={
of=i2 and f ,
sequence={B1}
}];
\path [
draw,blue,
name path=2to7,
intersection segments={
of=f2 and i7 ,
sequence={A0}
}];
\path [
name path=f7,
intersection segments={
of=f2 and i7 ,
sequence={A1}
}];
\path [
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 23 Aug '14, 00:58

Ross's gravatar image

Ross
37591522
Akzeptiert-Rate: 100%

@Ross Danke für das Posten der selbst gefundenen Lösung! Schön, dass es geklappt hat. Ich dachte zunächst an eine Möglichkeit mit Definiton von point meta oder einer passend eingestellten colormap. Ein anderes Mal dann vielleicht. :-)

(23 Aug '14, 16:14) stefan ♦♦

Wie lässt sich der Graph einer Funktion in unterschiedliche Farben in MATLAB einteilen?

Permanenter link

beantwortet 30 Jan '15, 17:29

Matlab1's gravatar image

Matlab1
1
Akzeptiert-Rate: 0%

@Matlab1 Wir sprechen hier über LaTeX, bei Matlab könntest Du auf gomatlab.de fragen.

(30 Jan '15, 20:45) stefan ♦♦
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×731
×298

gestellte Frage: 22 Aug '14, 18:41

Frage wurde gesehen: 10,143 Mal

zuletzt geändert: 30 Jan '15, 20:45

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×