Sehe ich das richtig, dass sich den minor ticks keine Labels zuordnen lassen, im Unterschied zu den standardmäßigen Meine Idee ist es, im Beispiel, pi/4- bzw. pi/2-Unterteilungen zu bzw. abschalten zu können. Wie könnte ich das machen? Öffne in Overleaf
%\documentclass[]{article} \documentclass[border=5mm, varwidth]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.13} \begin{document} \begin{tikzpicture}[] \begin{axis}[ font=\footnotesize, %x = 0.785 cm, enlarge y limits={0.5,upper}, % kein Effekt axis lines=middle, xlabel=$x$,xlabel style={anchor=north}, ylabel=$y$,%ylabel style={anchor=east}, ylabel style={at=(current axis.above origin), anchor=base east},%<- x axis line style = {-latex}, y axis line style = {-latex}, % xtick= {3.14, 6.28}, xticklabels={$\pi$, $2\pi$}, % minor xtick = {1.57,4.71}, %minor xtick labels={$\frac{\pi}2$, $\frac{3\pi}2$}, % geht nicht % extra x ticks={0.79,2.35,3.92,5.50}, extra x tick labels={$\frac\pi4$, $\frac{3\pi}4$, $\frac{5\pi}4$, $\frac{7\pi}4$}, %extra tick length={...}, % geht nicht typeset ticklabels with strut,% ausrichten der ticklabels enlarge y limits={0.125}, ] \addplot[domain=0:7, samples=300] {sin(deg(x))}; \end{axis} \end{tikzpicture} \end{document} gefragt 15 Feb '18, 15:30 cis |
Es ist doch etwas komplizierter und verschachtelter geworden als ich dachte. Falls das jemand einfacher hinbekommt, gerne. In folgendem Code kann man eine Öffne in Overleaf
%\documentclass[]{article} \documentclass[border=5mm, tikz]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.13} \begin{document} \def\Unterteilungstiefe{4} % 4 oder 2 oder 1 % Reichweite der Ticks festlegen \def\Range{-5,...,10} % xticklist erstellen \newcommand{\xticklist}{}% Name reservieren \let\xticklist=\empty% Liste erstellen \makeatletter \foreach \n in \Range { \pgfmathparse{pi*\n/\Unterteilungstiefe}% \ifx\empty\xticklist{} \protected@xdef\xticklist{\pgfmathresult}% \else \protected@xdef\xticklist{\xticklist,\pgfmathresult}% \fi }\makeatother %Anzeigen: \xticklist \begin{tikzpicture}[] \begin{axis}[width=7cm, font=\footnotesize, x = 0.785 cm, axis lines=middle, xtick/.expanded = {\xticklist}, xticklabel={% % Pi-Ganze-Einheiten \pgfmathsetmacro{\g}{((\tick/pi))}% \pgfmathsetmacro{\gP}{int(ceil(\g))}% \pgfmathsetmacro{\gN}{int(abs(floor(\g)))}% \def\GanzePositivSonst{(mod(\gP,1) == 0 ? "\gP\pi" : "p")}% \def\GanzePositivEins{\gP == 1 ? "\pi"}% \def\GanzePositiv{\GanzePositivEins : (\GanzePositivSonst)}% \def\GanzeNegativSonst{mod(\gN,1) == 0 ? "-\gN\pi" : "n"}% \def\GanzeNegativEins{\gN == 1 ? "-\pi"}% \def\GanzeNegativ{\GanzeNegativEins : (\GanzeNegativSonst)}% % Pi-Halbe-Einheiten \pgfmathsetmacro{\h}{((\tick*2/pi))}% \pgfmathsetmacro{\hP}{int(ceil(\h))}% \pgfmathsetmacro{\hN}{int(abs(floor(\h)))}% \def\HalbePositivSonst{(mod(\hP,2) == 1 ? "\frac{\hP\pi}{2}" : (\GanzePositiv))}% \def\HalbePositivEins{\hP == 1 ? "\frac{\pi}{2}"}% \def\HalbePositiv{\HalbePositivEins : (\HalbePositivSonst)}% \def\HalbeNegativSonst{mod(\hN,2) == 1 ? "-\frac{\hN\pi}{2}" : (\GanzeNegativ)}% \def\HalbeNegativEins{\hN == 1 ? "-\frac{\pi}{2}"}% \def\HalbeNegativ{\HalbeNegativEins : (\HalbeNegativSonst)}% % Pi-Viertel-Einheiten \pgfmathsetmacro{\v}{((\tick*4/pi))}% \pgfmathsetmacro{\vP}{int(ceil(\v))}% \pgfmathsetmacro{\vN}{int(abs(floor(\v)))}% \def\ViertelPositivSonst{(mod(\vP,2) == 1 ? "\frac{\vP\pi}{4}" : (\HalbePositiv))}% \def\ViertelPositivEins{\vP == 1 ? "\frac{\pi}{4}"}% \def\ViertelPositiv{\ViertelPositivEins : (\ViertelPositivSonst)}% \def\ViertelNegativSonst{mod(\vN,2) == 1 ? "-\frac{\vN\pi}{4}" : (\HalbeNegativ)}% \def\ViertelNegativEins{\vN == 1 ? "-\frac{\pi}{4}"}% \def\ViertelNegativ{\ViertelNegativEins : (\ViertelNegativSonst)}% % \pgfmathparse{\tick > 0 ? (\ViertelPositiv) : (\ViertelNegativ) }$\pgfmathresult$ }, %minor xtick/.expanded = {\xticklist}, enlarge y limits=.125, ] \addplot[domain=-5:9, samples=300] {sin(deg(x))}; \end{axis} \end{tikzpicture} \end{document} beantwortet 21 Feb '18, 20:39 cis |
Ich denke, die Idee von
minor ticks
ist, dass sie keinen Text haben. Sonst wären sich jamajor ticks
. Du könntest versuchen dieextra x ticks
so wieminor ticks
zu formattieren.Ich denke, das lässt sich pgfmath-artig lösen, anhand einer xtick-Liste und geeigneter Rechnungen, so dass pi/4- und pi/2- bzw. nur pi/2-Unterteilungen entstehen. Ich denke, ich kriege das hin und will es auch posten. Danke für die Erinnerung.
Und klar, die extra ticks brauchen dann die minor tick length, muss ich auch noch hinkriegen.
Irgendwie verlässt mich nicht der Verdacht, dass man meine AW in 3 Zeilen hätte umsetzen können. :)