[![alt text][1]][2]
____
[Zunächst benötigt man eine Liste mit Werten][3] (z.B. -pi, -3pi/4,..., 3pi)
    % Liste mit tick-Werten erstellen
    \pgfmathsetmacro{\pinum}{3.142} % Rechengenauigkeit
    \pgfmathtruncatemacro{\u}{4} % Unterteilungstiefe
    % Reichweite der Ticks festlegen
    \def\Range{-20,...,20}
    
    % xticklist erstellen
    \newcommand{\xticklist}{}% Name reservieren
    \let\xticklist=\empty% Liste erstellen
    \makeatletter
    \foreach \n  in \Range
    {
    \pgfmathparse{\n*\pinum/\u}%
      \ifx\empty\xticklist{} \protected@xdef\xticklist{\pgfmathresult}%
      \else \protected@xdef\xticklist{\xticklist,\pgfmathresult}%
      \fi
    }\makeatother
    Anzeigen: \xticklist
___
Für die gewünschten Darstellungskriterien
[![alt text][4]][5]
kann man, im Hinblick auf Zähler (Z) und Nenner (N) des Pi-Faktorenbruches, folgendes Ablaufdiagramm verwenden:
[![alt text][8]][8]
das setzt `pgfmath` so um:
    xtick/.expanded = {\xticklist},           
    xticklabel={%
    \pgfmathsetmacro{\p}{int(\tick*\u/\pinum)}% pi-Faktor
    \pgfmathsetmacro{\Z}{int(\p/gcd(\p,\u))}% Zähler
      \pgfmathsetmacro{\Zabs}{int(abs(\Z))}% Zähler-Betrag
    \pgfmathsetmacro{\N}{int(\u/gcd(\p,\u))}% Nenner
    \pgfmathparse{%
    \N == 1 ? (\Z==1 ? "\pi" : (\Z==-1 ? "-\pi" : "\Z\pi")) :% 
    (\Z==1 ? "\frac{\pi}{\N}" : (\Z==-1 ? "-\frac{\pi}{\N}" :%
    (\Z<0 ? "-\frac{\Zabs\pi}{\N}" : "\frac{\Z\pi}{\N}")%
    ))%
    }
    $\pgfmathresult$%
    %$\frac{\Z}{\N}$% zum Testen
    },
**Kleiner Warnhinweis:** *Die Rechengenauigkeit von pgfmath ist nicht beliebig; z.B. ab Pi-Neuntel Unterteilung kommen Fehler rein.*
Im Ergebnis
**Beispiel 1:**
    \pgfmathtruncatemacro{\u}{2} % Unterteilungstiefe
[![alt text][9]][10]
**Beispiel 2:**
    \pgfmathtruncatemacro{\u}{7} % Unterteilungstiefe
[![alt text][11]][12]
**Ganzer Code:**
    %\documentclass[]{article}
    \documentclass[border=5mm, tikz]{standalone}
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.13}
    
    \begin{document}
    
    % Eingaben
    \pgfmathsetmacro{\xStauchung}{0.58500055}% Stauchung x-Achse
    % Liste mit tick-Werten erstellen
    \pgfmathsetmacro{\pinum}{3.142} % Rechengenauigkeit
    \pgfmathtruncatemacro{\u}{7} % Unterteilungstiefe
    % Reichweite der Ticks festlegen
    \def\Range{-20,...,20}
    
    % xticklist erstellen
    \newcommand{\xticklist}{}% Name reservieren
    \let\xticklist=\empty% Liste erstellen
    \makeatletter
    \foreach \n  in \Range
    {
    \pgfmathparse{\n*\pinum/\u}%
      \ifx\empty\xticklist{} \protected@xdef\xticklist{\pgfmathresult}%
      \else \protected@xdef\xticklist{\xticklist,\pgfmathresult}%
      \fi
    }\makeatother
    %Anzeigen: \xticklist
    
    % Zeichnen
    \pgfmathsetmacro{\xScale}{\xStauchung*\u/pi}% 
    \begin{tikzpicture}[]
    \begin{axis}[
    font=\footnotesize, 
    x = \xScale cm, 
    %y = 1cm, 
    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},           
    xticklabel={%
    \pgfmathsetmacro{\p}{int(\tick*\u/\pinum)}% pi-Faktor
    \pgfmathsetmacro{\Z}{int(\p/gcd(\p,\u))}% Zähler
      \pgfmathsetmacro{\Zabs}{int(abs(\Z))}% Zähler-Betrag
    \pgfmathsetmacro{\N}{int(\u/gcd(\p,\u))}% Nenner
    \pgfmathparse{%
    \N == 1 ? (\Z==1 ? "\pi" : (\Z==-1 ? "-\pi" : "\Z\pi")) :% 
    (\Z==1 ? "\frac{\pi}{\N}" : (\Z==-1 ? "-\frac{\pi}{\N}" :%
    (\Z<0 ? "-\frac{\Zabs\pi}{\N}" : "\frac{\Z\pi}{\N}")%
    ))%
    }
    $\pgfmathresult$%
    %$\frac{\Z}{\N}$% zum Testen
    },
    minor xtick/.expanded = {\xticklist},
    %
    enlarge y limits={abs=0.125}, % kein Effekt
    ]
    \addplot[domain=-4:7, samples=300] {sin(deg(x))}; 
    \end{axis}
    \end{tikzpicture}
    
    \end{document}
____
**Code für das Ablaufdiagramm:**
    
    
    \documentclass[border=5pt]{standalone}
    \usepackage{selinput}
    \SelectInputMappings{adieresis={ä},germandbls={ß}}
    \usepackage{tikz}
    \usetikzlibrary{matrix,shapes}
    
    \tikzset{%
    treenode/.style = {%fill=gray!10, 
    shape=rectangle, 
    draw, anchor=center,
    %text width=5em, 
    align=center,
    %draw=cyan, very thick,
    text=black,
    text width=1cm,
    %inner sep=1ex
    },
    startstop/.style      = {treenode, rounded corners=7pt},
    process/.style      = {treenode},
    decision/.style = {treenode, diamond, inner sep=0pt},
    output/.style={treenode, trapezium,trapezium left angle=60, trapezium right angle=120, font=\sffamily\slshape\tiny},
    input/.style={treenode, trapezium,trapezium left angle=120, trapezium right angle=60},
    predefprocess/.style  = {treenode,  path picture={\draw[treenode, -]
        ([xshift=1mm]path picture bounding box.north west)--([xshift=1mm]path picture bounding box.south west)
        ([xshift=-1mm]path picture bounding box.north east)--([xshift=-1mm]path picture bounding box.south east);}},
    }%
    \newcommand{\ja}{-| node [auto=left, near start] {ja}}
    \newcommand{\nein}{-|  node [auto=right, near start]  {nein}}
    \begin{document}
    \begin{tikzpicture}[scale=0.5,
    font=\sffamily\tiny,
    >=latex, ->,  
    %every path/.style={red, very thick}, 
    ]
    %\pgfgettransform\mytrafo
    
    \def\Start{|[decision]| N=1}
    \def\ZEins{|[decision]| Z = 1}
    \def\ZnegEins{|[decision]| Z = -1}
    \def\Zneg{|[decision]| Z < 0}
    \def\ZposI{|[startstop,  minimum height=0.85cm]| \frac{Z\pi}{N}}
    \def\ZposII{|[startstop,  minimum height=0.85cm]| -\frac{Z\pi}{N}}
-\frac{|Z|\pi}{N}}
    
    \def\ZposEins{|[startstop,  minimum height=0.85cm]| \frac{\pi}{N}}
    \def\ZnegEinsI{|[startstop,  minimum height=0.85cm]| -\frac{\pi}{N}}
    \def\ZposIII{|[startstop,  minimum height=0.85cm]| Z\pi}
    \def\ZposIV{|[startstop,  minimum height=0.85cm]| -\pi}
    \def\ZNEins{|[startstop,  minimum height=0.85cm]| \pi}
    
    
    
    
    
    \matrix (m)
    [
    %execute at begin cell=\pgfsettransform\mytrafo,
    matrix of math nodes,
    nodes in empty cells,
    column sep      =0.75ex,
    row sep         = 2ex,
    %nodes={process},       % default
    %column 1/.style = {nodes={decision}},
    %column 2/.style = {nodes={process}}
    ]
    {
    %1 & 2 & 3 &  4  & 5 & \Start  & 7 & 8 & 9 & 10 \\
    &           &  &    &  & \Start  &  &  &  &  \\
    &           &  &    & \ZEins &   & &   & \ZEins &  \\
    &           &     &\ZnegEins  &  & \ZposEins  &  & \ZnegEins &  & \ZNEins \\
    &           & \Zneg &    & \ZnegEinsI &    & \ZposIII &  & \ZposIV  &  \\
    & \ZposI &          & \ZposII  &  &   &  &  &  &  \\
    %1& 2 & 3 &  4  & 5 & 6  & 7 & 8 & 9 & 10 \\
    };
    
    % Links
    \draw[] (m-1-6) \nein (m-2-5);
    
    \draw[] (m-2-5) \nein (m-3-4);
    \draw[] (m-2-5) \ja  (m-3-6);
    
    \draw[] (m-3-4) \nein (m-4-3);
    \draw[] (m-3-4) \ja (m-4-5);
    
    \draw[] (m-4-3) \nein (m-5-2);
    \draw[] (m-4-3) \ja (m-5-4);
    
    % Rechts
    \draw[] (m-1-6) \ja (m-2-9);
    
    \draw[] (m-2-9) \nein (m-3-8);
    \draw[] (m-2-9) \ja (m-3-10);
    
    \draw[] (m-3-8) \nein (m-4-7);
    \draw[] (m-3-8) \ja (m-4-9);
    
    
    
    \end{tikzpicture}
    \end{document}
  [1]: https://texwelt.de/wissen/upfiles/5555555i55555.gif
  [2]: https://texwelt.de/wissen/upfiles/5555555i55555.gif
  [3]: https://texwelt.de/wissen/fragen/21545/pgfplots-fehler-bei-listen-verwendung-illegal-parameter-number-in-definition/21555
  [4]: https://texwelt.de/wissen/upfiles/55555555_161.png
  [5]: https://texwelt.de/wissen/upfiles/55555555_161.png
  [6]: https://texwelt.de/wissen/upfiles/DarstellungPiFaktoren_2.png
https://texwelt.de/wissen/upfiles/55555555_163.png
  [7]: https://texwelt.de/wissen/upfiles/DarstellungPiFaktoren_2.png
https://texwelt.de/wissen/upfiles/55555555_163.png
  [8]: https://texwelt.de/wissen/upfiles/55555555_163.png
https://texwelt.de/wissen/upfiles/55555555_164.png
  [9]: https://texwelt.de/wissen/upfiles/Listenproblem06.png
  [10]: https://texwelt.de/wissen/upfiles/Listenproblem06.png
  [11]: https://texwelt.de/wissen/upfiles/Listenproblem06_1.png
  [12]: https://texwelt.de/wissen/upfiles/Listenproblem06_1.png