Seite 1 von 1
ytick umbenennen
Verfasst: Fr 11. Sep 2015, 09:58
von kannstmasehn
Moin,
folgendes Problem: Ich möchte die "1" im Graphen durch ein $\varepsilon$ ersetzen. Ist das möglich? Wenn ja, wie?
Hier mein Minimalbeispiel:
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400, ytick={0,1}]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}
Danke im Voraus und viele Grüße.
Verfasst: Fr 11. Sep 2015, 10:15
von Besserwisser
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400,
ytick={0,1},yticklabel={\ifdim\tick pt=1pt $\varepsilon$\else\tick\fi}]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}

Verfasst: Fr 11. Sep 2015, 10:17
von kannstmasehn
Danke
Da hätte ich ja auch selber drauf kommen können
Schönes Wochenende!
Verfasst: Fr 11. Sep 2015, 10:25
von kannstmasehn
Dadurch macht er bei der aus der "0" eine "0.0". Wie kann ich das wieder rückgängig machen?
Verfasst: Fr 11. Sep 2015, 10:28
von esdd
Im Code von Besserwisser empfiehlt sich noch eine kleine Änderung/Ergänzung:
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400,
ytick={0,...,10},
yticklabel={\ifdim\tick pt=1pt $\varepsilon$\else\pgfmathprintnumber{\tick}\fi}
]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}
Alternativ ginge auch einfach
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
compat=newest,% newest statt 1.12,.damit es im Online-Editor läuft
%compat=1.12% derzeit aktuelle Version
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400,
ytick={0,...,10},
yticklabels={0,$\varepsilon$,2,3,...,10},
typeset ticklabels with strut
]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}
Verfasst: Fr 11. Sep 2015, 10:37
von kannstmasehn
Super, die Alternative schaut gut aus. Ich habe meine Variante ein wenig angepasst:
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400,
ytick={0,1},
yticklabels={0,$\varepsilon$},
typeset ticklabels with strut
]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[dashed,black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}
Vielen Dank!
Verfasst: Fr 11. Sep 2015, 10:58
von Besserwisser
Die

sollten übrigens darauf hinweisen, dass das nicht so ernst gemeint ist. Die ganzen Optionen für die Ticks sind übrigens in der [d]pgfplots[/d]-Anleitung in Abschnitt 4.15, Ticks Options, zu finden. Wenn man dort Option yticklabel nachliest, findet man auch zwangsläufig yticklabels. Vermutlich war das von mir aber wieder zu hintergründig gedacht …
Verfasst: Fr 11. Sep 2015, 11:00
von kannstmasehn
Ich gelobe Besserung.
Verfasst: Fr 11. Sep 2015, 11:04
von Besserwisser
esdd hat geschrieben:Im Code von Besserwisser empfiehlt sich noch eine kleine Änderung/Ergänzung:
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400,
ytick={0,...,10},
yticklabel={\ifdim\tick pt=1pt $\varepsilon$\else\pgfmathprintnumber{\tick}\fi}
]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}
oder gleich:
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400,
ytick={0,...,10},
yticklabel={\ifdim\tick pt=1pt $\varepsilon$\else\axisdefaultticklabel\fi}
]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}
Dann ist auch noch der fehlende Mathemodus für die Zahlen ergänzt. Der gehört AFAIK streng genommen auch bei Deinem Zweiten Beispiel für die Zahlen ergänzt, wenn man ihn nicht per Stil erzwingt. Im Beispiel ist es zwar Jacke wie Hose, ob man Zahlen im Mathemodus setzt oder nicht, aber das kann auch mal anders sein.
Verfasst: Fr 11. Sep 2015, 12:31
von esdd
Besserwisser hat geschrieben:
oder gleich:
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:2, samples=400,
ytick={0,...,10},
yticklabel={\ifdim\tick pt=1pt $\varepsilon$\else\axisdefaultticklabel\fi}
]
\addplot+[mark=none, skip coords between index={0}{210}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[mark=none, skip coords between index={191}{400}] {sqrt((x^2/(1-x^2))^2)};
\addplot+[black,mark=none, thin] {1};
\end{axis}
\end{tikzpicture}
\end{document}
Das ist dann wirklich die bessere Variante, wenn man viele Ticks hat und nicht nur
yticklabels={$0$,$\varepsilon$},
denn
Besserwisser hat geschrieben:
Dann ist auch noch der fehlende Mathemodus für die Zahlen ergänzt. Der gehört AFAIK streng genommen auch bei Deinem Zweiten Beispiel für die Zahlen ergänzt, wenn man ihn nicht per Stil erzwingt.
stimmt und man müsste damit alle Ticklabel hinschreiben, weil die ... Syntax nicht mehr funktioniert, wenn man den Mathemodus die Zahlen einfügt.