Ein Koordinatensystem soll mit einem 5-mm-Gitternetz versehen werden wie es auf Rechenpapier üblich ist. Bisher verwende ich folgende Lösung, die allerdings etwas getrickst ist, da ich erstens eine Unterskala (minor ticks) einführe, die ich eigentlich nicht brauche, und zweitens die Breite und Höhe der Abbildung manuell berechne.

Open in Online-Editor
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10,axis lines=middle,scale only axis}

\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-3.8,xmax=6.8,ymin=-2.3,ymax=4.3,width=10.6cm,height=6.6cm,minor tick num=1,grid=both]
\end{axis}
\end{tikzpicture}
\end{document}

Wie könnte eine bessere Lösung aussehen?

gefragt 10 Okt '15, 14:52

Cletus's gravatar image

Cletus
995126
Akzeptiert: 71%

bearbeitet 10 Okt '15, 14:53


Die Unterskala kannst Du einfach unterdrücken, indem Du minor tick length auf 0 setzt. width und height werden ebenfalls nicht benötigt. Dafür sollte man (wie schon @esdd gezeigt) x und y passend setzen:

Open in Online-Editor
\documentclass[margin=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
  compat=1.12,
  axis lines=middle
}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    xmin=-3.8,xmax=6.8,
    ymin=-2.3,ymax=4.3,
    x=1cm,
    y=1cm,
    minor tick num=1,% zwischen zwei Haupt-Achsmarkierungen jeweils einen Untermarkierungen einfügen
    minor tick length=0pt,% Länge der Untermarkierungen auf 0 setzen, sie also unterdrücken
    grid={both}% Gitterlinien sowohl durch die Positionen der Haupt- als auch Untermarkierungen
    ]
  \end{axis}
\end{tikzpicture}
\end{document}

Ergebnis mit grid

Permanenter link

beantwortet 11 Okt '15, 06:37

saputello's gravatar image

saputello
18.4k22352

bearbeitet 12 Okt '15, 02:18

Diese Lösung ist übersichtlicher als die andere und für meine Zwecke völlig ausreichend.

(11 Okt '15, 14:48) Cletus

Wenn die Kästchen genau 5mm groß sein sollen, dann kann man einfach für x und y eine passende Einheit wählen. Wenn 1cm in x- bzw. y-Richtung 1cm jeweils eine Achseinheit sein sollen, dann sind die Optionen x=1cm und y=1cm sinnvoll.

Mit set layers aktiviert man noch die Standardlayer und zeichnet dann im axis grid-Layer die gewünscheten Gitterlinien. Zum Begrenzen des Gitters auf das Diagramm können die Anker des current axis Node genutzt werden.

Open in Online-Editor
\documentclass[margin=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
  compat=1.12,
  axis lines=middle
}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    xmin=-3.8,xmax=6.8,
    ymin=-2.3,ymax=4.3,
    x=1cm,
    y=1cm,
    set layers
    ]
    \pgfplotsinvokeforeach {-10,-9.5,...,10}{
      \pgfonlayer{axis grid}
        \begin{scope}
          \clip(current axis.south west)rectangle(current axis.north east);
          \draw[help lines](#1,0|-current axis.south)--(#1,0|-current axis.north);
          \draw[help lines](0,#1-|current axis.west)--(0,#1-|current axis.east);
        \end{scope}
      \endpgfonlayer
    }
  \end{axis}
\end{tikzpicture}
\end{document}

alt text

Wenn Du einen anderen Achsenmaßstab brauchst, dann musst Du die Einheit entsprechend anpassen und die Werte für die Schleife ändern. Falls x- und y-Achse einen unterschiedlichen Maßstab haben, dann brauchst Du zwei getrennte Schleifen für das Gitter. Hier ist noch ein Beispiel bei dem 10 x-Einheiten 1cm sind während in y-Richtung 1cm weiterhin 1 Einheit ist.

Open in Online-Editor
\documentclass[margin=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
  compat=1.12,
  axis lines=middle
}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    xmin=-38,xmax=68,
    ymin=-2.3,ymax=4.3,
    x=0.1cm,
    y=1cm,
    set layers
    ]
    \pgfplotsinvokeforeach {-100,-95,...,100}{
      \pgfonlayer{axis grid}
        \begin{scope}
          \clip(current axis.south west)rectangle(current axis.north east);
          \draw[help lines](#1,0|-current axis.south)--(#1,0|-current axis.north);
        \end{scope}
      \endpgfonlayer
    }
    \pgfplotsinvokeforeach {-10,-9.5,...,10}{
      \pgfonlayer{axis grid}
        \begin{scope}
          \clip(current axis.south west)rectangle(current axis.north east);
          \draw[help lines](0,#1-|current axis.west)--(0,#1-|current axis.east);
        \end{scope}
      \endpgfonlayer
    }
  \end{axis}
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 10 Okt '15, 16:54

esdd's gravatar image

esdd
14.2k53251

bearbeitet 10 Okt '15, 18:36

Das ist so leider noch nicht brauchbar. Wie ich geschrieben habe, hätte ich gern eine Kästchengröße von exakt 5 Millimetern.

(10 Okt '15, 17:42) Cletus

Gut, dann haben die Kästchen jetzt 5 Millimeter.

(10 Okt '15, 18:38) esdd

Ja, genau so sollte das aussehen. Nur schade, dass sich ein solches (im Schulbereich sehr oft benötigtes) Standardgitter nur mit so großem Aufwand erzeugen lässt.

(11 Okt '15, 05:34) Cletus
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×160
×1

Frage gestellt: 10 Okt '15, 14:52

Frage wurde angeschaut: 2,216 Mal

Zuletzt aktualisiert: 12 Okt '15, 02:18