Ich habe ein Diagramm mit zwei (im Prinzip gleichen) x Achsen. Da es hier wirklich nur um die Achsen geht, lasse ich den Inhalt mal weg.

Zur Herausforderung:

-Sowohl die blauen (tick num = 1) als auch die grünen (tick num = 11) Markierungen sollen auf beiden Achsen erscheinen.

-Die schwarze Markierung bei 57.2 soll nicht angezeigt werden (nur der rote Strich). alt text

Open in Online-Editor
   \documentclass[12pt]{article}  
   \usepackage{pgfplots}
   \pgfplotsset{compat=newest}
   \usepackage{pgfplotstable}
       \begin{document}             
            \begin{tikzpicture}             
                \pgfplotsset{
                    every linear axis/.append style={
                        width=18cm,
                        height=3cm,
                        xmin=55,
                        xmax=68,
                        xtick={55,...,68},
                    %   xticklabel=\empty,
                        axis y line=none,
                        ymin=1,
                        ymax=3,
                        enlarge y limits=.4,
                        major tick length = 10pt,
                        major tick style={line width=1pt,draw=black},
                        minor tick length = 4pt,
                        minor tick style ={line width=.2pt,blue},
                    }
                }   
                % obere x-Achse und roter Strich bei 57     
                \begin{axis}[
                axis x line = top,
                minor tick num=1,
                minor tick length = 6pt,
                extra x ticks=57.2,
                extra x tick style={xticklabel=\empty, grid=major,major grid style={line width=.9pt,draw=red}}
                ]
                \end{axis}
                %untere x-Achse
                \begin{axis}[
                axis x line = bottom,
                minor tick num=11,
                minor tick style={line width=.5pt,draw=green},
                xticklabel=\empty,
                ]
                \end{axis}          
            \end{tikzpicture}\\             
\end{document}

gefragt 19 Sep '16, 16:15

TimBo's gravatar image

TimBo
29123
Akzeptiert-Rate: 0%

bearbeitet 19 Sep '16, 16:19


Vom Prinzip her suchst Du vermutlich etwas wie:

alt text

alt text

Die blauen Teilstriche habe ich dabei mal genauso breit wie die grünen gemacht.

Code:

Open in Online-Editor
\documentclass[margin=5pt]{standalone}  
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
% einheitliche Einstellungen für das Koordinatensystem
\pgfplotsset{
  every linear axis/.append style={
  width=18cm,
  height=3cm,
  xmin=55,
  xmax=68,
  xtick={55,...,68},
  axis y line=none,
  ymin=1,
  ymax=3,
  enlarge y limits=.4,
  minor tick length=4pt, 
  minor tick style={line width=.5pt},
  xtick align=center% xticks zentriert zu einzelnen Achsen
  }
}   
  % beide Achsen mit Haupt-Ticks und je 11 grünen Teilstrichen
  \begin{axis}[
    x axis line style={-stealth},% Pfeile an Achsenenden
    xticklabel pos=right,% xticklabel nur an oberer Achse
    major tick length = 10pt,
    major tick style={line width=1pt,draw=black},
    minor tick num=11,
    minor tick style={draw=green},
    ]
  \end{axis}
  % blaue Teilstriche und roter Strich
  \begin{axis}[
    axis lines/.append style={draw=none},% Achsen nicht ein 2.Mal zeichnen
    xticklabel=\empty,% keine Ticklabels
    major tick length = 0pt,% Haupt-Ticks nicht zeichnen
    minor tick num=1,
    minor tick style ={blue},
    extra x ticks=57.2,
    extra x tick style={
      grid=major,
      major grid style={line width=.9pt,draw=red}
    }
    ]
  \end{axis}
\end{tikzpicture}
\end{document}

Man kommt dafür wieder mit nur zwei axis Umgebungen aus. Die zweite wird nur wegen der zusätzlichen blauen Teilstriche benötigt. Den roten Strich könnte man auch in der ersten zeichnen lassen:

Open in Online-Editor
\documentclass[margin=5pt]{standalone}  
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
% einheitliche Einstellungen für das Koordinatensystem
\pgfplotsset{
  every linear axis/.append style={
  width=18cm,
  height=3cm,
  xmin=55,
  xmax=68,
  xtick={55,...,68},
  axis y line=none,
  ymin=1,
  ymax=3,
  enlarge y limits=.4,
  minor tick length=4pt, 
  minor tick style={line width=.5pt},
  xtick align=center% xticks zentriert zu einzelnen Achsen
  }
}   
  % beide Achsen mit Haupt-Ticks und je 11 grüne Teilstrichen
  % sowie roter Strich
  \begin{axis}[
    x axis line style={-stealth},% Pfeile an Achsenenden
    xticklabel pos=right,% xticklabel nur an oberer Achse
    major tick length = 10pt,
    major tick style={line width=1pt,draw=black},
    minor tick num=11,
    minor tick style={draw=green},
    extra x ticks=57.2,
    extra x tick style={
      major tick length=0pt,% Tick nicht zeichnen
      xticklabel=\empty,% keine Ticklabels
      grid=major,
      major grid style={line width=.9pt,draw=red}
    }
    ]
  \end{axis}
  % blaue Teilstriche
  \begin{axis}[
    axis lines/.append style={draw=none},% Achsen nicht ein 2.Mal zeichnen
    xticklabel=\empty,% keine Ticklabels
    major tick length = 0pt,% Haupt-Ticks nicht zeichnen
    minor tick num=1,
    minor tick style ={blue}
    ]
  \end{axis}
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 19 Sep '16, 16:54

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 19 Sep '16, 23:20

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×731
×4

gestellte Frage: 19 Sep '16, 16:15

Frage wurde gesehen: 11,127 Mal

zuletzt geändert: 19 Sep '16, 23:20