Ich versuche, ein zweidimensionales Koordinatensystem mit Zahlen auf den Achsen zu zeichnen. Dies ist der Code, den ich versuche:
\documentclass[12pt,oneside]{report}
\usepackage{tikz}
\usetikzlibrary{arrows,calc}
\begin{document}
\begin{figure}[!h]
\centering
\begin{tikzpicture}
\newcommand*{\TickSize}{2pt}%
\draw [-latex] (-0.5,0) -- (4.5,0);% x-axis
\draw [-latex] (0,-0.5) -- (0,4.5);% y-axis
\foreach \x in {1,...,4} {%
\draw ($(\x,0)+(\x,-\TickSize)$) -- ($(\x,0)+(\x,\TickSize)$)
node [below,yshift=-2pt] {$\x$};
}
\foreach \y in {1,...,4} {%
\draw ($(0,\y)+(-\TickSize,\y)$) -- ($(0,\y)+(\TickSize,\y)$)
node [left,xshift=-2pt] {$\y$};
}
\end{tikzpicture}
\end{figure}
\end{document}
Daraus erhalte ich jedoch das folgende Ergebnis:
Was ich nicht berücksichtigt habe, da die Zahlen aus der Achse herausgehen. Diese Lösung wurde von diesem inspiriertFaden, und dort war der Autor offenbar nicht mit diesem Problem konfrontiert.
Danke.
Antwort1
Die Anweisung \draw ($(\x,0)+(\x,-\TickSize)$)
fügt die \x
Koordinate zweimal hinzu und verdoppelt somit den Maßstab der Platzierung der Teilstriche und Zahlen. Dasselbe gilt für \y
.
Und wie Torbjörn hinzufügt, müssen die Koordinaten $
in diesem Fall nicht innerhalb einer abgegrenzten Phrase berechnet werden, sondern können direkt angegeben werden.
\documentclass[12pt,oneside]{report}
\usepackage{tikz}
\usetikzlibrary{arrows,calc}
\begin{document}
\begin{figure}[!h]
\centering
\begin{tikzpicture}
\newcommand*{\TickSize}{2pt}%
\draw [-latex] (-0.5,0) -- (4.5,0);% x-axis
\draw [-latex] (0,-0.5) -- (0,4.5);% y-axis
\foreach \x in {1,...,4} {%
\draw (\x,-\TickSize) -- (\x,\TickSize)
node [below,yshift=-2pt] {$\x$};
}
\foreach \y in {1,...,4} {%
\draw (-\TickSize,\y) -- (\TickSize,\y)
node [left,xshift=-2pt] {$\y$};
}
\end{tikzpicture}
\end{figure}
\end{document}