Für das folgende MWE möchte ich ein Intervall (z. B. [2, 4]
) kommentieren, wie in der gewünschten Ausgabe dargestellt.
Außerdem muss ich wissen, wie ich die vertikalen Linien und den horizontalen Pfeil stilisiere.
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
Antwort1
Für den Text der Anmerkung können Sie die decorations.text
tikz
Bibliothek verwenden.
Zur Stilisierung können Sie dem Befehl alle gewünschten Optionen hinzufügen \draw
. Hier ist ein Beispiel:
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\draw[red, dashed] (2, \pgfkeysvalueof{/pgfplots/ymin}) -- (2, \pgfkeysvalueof{/pgfplots/ymax});
\draw[green, thick, dotted] (4, \pgfkeysvalueof{/pgfplots/ymin}) -- (4, \pgfkeysvalueof{/pgfplots/ymax});
\draw[blue, very thick, {Stealth}-{Stealth}, postaction={decoration={raise=3pt, text along path, text={some text},text align=center}, decorate}] (2,5) -- (4,5);
\end{axis}
\end{tikzpicture}
\end{document}
Bearbeiten:
Wie vom OP gefordert, habe ich den Stil \myline
für die vertikalen Linien erstellt (und auch \myarrow
einen für den Pfeil des Intervalls).
Außerdem habe ich mit der tikz
Manie übertrieben. Wie Torbjørn T. richtig bemerkte, text along path
ist die Verwendung von a für eine gerade Linie übertrieben. Sie können einfach einen Knoten über den Pfad setzen, ohne die decorations.text
Bibliothek zu benötigen.
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usetikzlibrary{arrows.meta}
\tikzset{%
myline/.style = {green, very thick, dashed},
myarrow/.style = {blue, very thick, {Stealth}-{Stealth}},
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\draw[myline] (2, \pgfkeysvalueof{/pgfplots/ymin}) -- (2, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myline] (4, \pgfkeysvalueof{/pgfplots/ymin}) -- (4, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myarrow] (2,5) -- node[above] {some text} (4,5);
\end{axis}
\end{tikzpicture}
\end{document}
Zweite Bearbeitung:
Ich habe ein pic
mit drei erstellt args
: Anfangs- x
, End- x
und Pfeilhöhe y
(letzterer könnte durch einen festen Wert ersetzt werden, wenn er immer gleich ist, und das so geändert werden, pic
dass nur zwei verwendet werden args
).
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usetikzlibrary{arrows.meta}
\tikzset{%
myline/.style = {green, very thick, dashed},
myarrow/.style = {blue, very thick, {Stealth}-{Stealth}},
pics/myint/.style n args={3}{code={%
\draw[myline] (#1, \pgfkeysvalueof{/pgfplots/ymin}) -- (#1, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myline] (#2, \pgfkeysvalueof{/pgfplots/ymin}) -- (#2, \pgfkeysvalueof{/pgfplots/ymax});
\draw[myarrow] (#1,#3) -- node[above] {some text} (#2,#3);
}},
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5
]
\addplot[mark=none,blue] {x^2};
\pic {myint={2}{4}{5}};
\end{axis}
\end{tikzpicture}
\end{document}
Natürlich \pic {myint={2}{4}{5}};
ist die Ausgabe mit die gleiche wie die vorherige.