Anschlussfrage zu: tikz-foreach-fehler-bei-listenerstellung-illegal-parameter-number-in-definition Ich habe wie im Verlinkten Thread Listen mit x-Werten erstellt und möchte diese in einem pgfplot platzieren; das tut soweit. Aber die Platzierung der Labels scheitert:
Es scheint, wie im verlinkten Thread, an dem
Öffne in Overleaf
%\documentclass[]{article} \documentclass[border=5mm, varwidth]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.13} \usetikzlibrary{math} \begin{document} % Reichweite der Ticks festlegen \def\Range{0,...,6} % ticklist erstellen \newcommand{\xticklist}{}% Name reservieren \let\xticklist=\empty% Liste erstellen \makeatletter \foreach \n in \Range { \pgfmathparse{\n*pi}% \ifx\empty\xticklist{} \protected@xdef\xticklist{\pgfmathresult}% \else \protected@xdef\xticklist{\xticklist,\pgfmathresult}% \fi } \makeatother Tut: \xticklist % ticklabelist erstellen \newcommand\Ausgabe{ \ifnum\n=0 {$\protect\underbrace{\pgfmathresult}_{\n\pi}$}% \else \ifnum\n=1 {$\protect\underbrace{\pgfmathresult}_{\approx \pi}$} \else {$\protect\underbrace{\pgfmathresult}_{\approx \n\pi}$} \fi \fi } \newcommand{\xticklabelslist}{}% Name reservieren \let\xticklabelslist=\empty% Liste erstellen \makeatletter \foreach \n in \Range { \pgfmathparse{\n*pi}% \ifx\empty\xticklabelslist{} \protected@xdef\xticklabelslist{\Ausgabe}% \else \protected@xdef\xticklabelslist{\xticklabelslist,\Ausgabe}% \fi } \makeatother Tut auch: \xticklabelslist Tut hierin aber nur teilweise: \\ \begin{tikzpicture}[] \begin{axis}[ axis lines=middle, xlabel=$x$,xlabel style={anchor=north}, ylabel=$y$,ylabel style={anchor=east}, x axis line style = {-latex}, y axis line style = {-latex}, % xtick/.expanded = {\xticklist}, % tut % %xticklabels/.expanded = {\xticklabelslist}, % tut nicht % ] \addplot[domain=0:20, samples=300] {sin(deg(x))}; \end{axis} \end{tikzpicture} \end{document} gefragt 13 Feb '18, 20:00 cis |
Ich würde die Berechnung einfach Öffne in Overleaf
\documentclass[border=5mm, varwidth]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest} \usetikzlibrary{math} \begin{document} % Reichweite der Ticks festlegen \def\Range{0,...,6} % ticklist erstellen \newcommand{\xticklist}{}% Name reservieren \let\xticklist=\empty% Liste erstellen \makeatletter \foreach \n in \Range { \pgfmathparse{\n*pi}% \ifx\empty\xticklist{} \protected@xdef\xticklist{\pgfmathresult}% \else \protected@xdef\xticklist{\xticklist,\pgfmathresult}% \fi } \makeatother \begin{tikzpicture}[] \begin{axis}[ axis lines=middle, xlabel=$x$,xlabel style={anchor=north}, ylabel=$y$,ylabel style={anchor=east}, x axis line style = {-latex}, y axis line style = {-latex}, % xtick/.expanded = {\xticklist}, % tut % xticklabel = { \pgfmathparse{\ticknum*pi} $\underbrace{\pgfmathprintnumber{\pgfmathresult}}_{\approx \ticknum\pi}$ }, % tut % ] \addplot[domain=0:20, samples=300] {sin(deg(x))}; \end{axis} \end{tikzpicture} \end{document} Prinzipiell kann man aber auch Öffne in Overleaf
xticklabel = { $\underbrace{\pgfmathprintnumber{\tick}}_{\approx \ticknum\pi}$ }, % tut oder daraus sogar wieder den Faktor berechnen: Öffne in Overleaf
xticklabel = { \pgfmathparse{\tick/pi} $\underbrace{\pgfmathprintnumber{\tick}}_{\approx \pgfmathprintnumber{\pgfmathresult}\pi}$ }, % tut Siehe auch: http://texwelt.de/wissen/fragen/21551/wie-erstelle-ich-listen-zur-achsenbeschriftung-fur-pgfplots-tikz/21554 beantwortet 14 Feb '18, 15:20 gast3 |