Ich versuche, eine Linealanzeige von 0 bis 1 mit 3 Dezimalzahlen zu erstellen. Das Lineal soll also ungefähr so aussehen:
0,000 0,001 0,002 0,003 ..... 0,010 0,011
Und so weiter.
Da dies zu lang wäre, um auf eine Seite zu passen, plane ich, es auf mehrere Seiten aufzuteilen und verwende diesen Code für die erste Seite
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[ultra thick,color=black] (0,0) -- (26,0);
\foreach \x[evaluate=\x as \text using \x*0.001] in {0,1,2,3,...,40}{
\draw[shift={(\x*0.65,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[yshift = -20pt,rotate = 270] {
\pgfmathparse{\x*0.001}\pgfmathprintnumberto[precision=1] {\pgfmathresult}{\pgfmathresult} \pgfmathresult };
}
\end{tikzpicture}
Nach dem Ausführen dieses Codes erhalte ich die folgende Ausgabe
Ist es möglich, die Zahl nicht in der Standardform, sondern wie im schriftlichen Beispiel gezeigt zu erhalten?
Ist es möglich, die Schleife einfacher zu gestalten, auf die Auswertung zu verzichten und einfach etwas wie Folgendes zu tun:
\draw[shift={(\x*0.65,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[yshift = -20pt,rotate = 270] { \x*0.001 };
}
Danke
Antwort1
Ich verstehe nicht ganz, warum Sie dieses \pgfmathparse
Zeug haben, wenn Sie bereits verwenden evaluate
. Verwenden Sie es einfach \pgfmathprintnumber[fixed,precision=3]{\text}
im node
Text. fixed
deaktiviert die wissenschaftliche Notation. Verwenden Sie es, um anstelle von \pgfmathprintnumber[fixed,fixed zerofill,precision=3]{\text}
zu erhalten .0.000
0.0
Sie können \x*0.001
im Knotentext nicht direkt verwenden, da dieser nicht als Zahl analysiert wird, sondern nur Text ist. Sie könnten sagen node[...]{\pgfmathparse{\x*0.001}\pgfmathprintnumber[fixed,precision=3]{\pgfmathresult}};
, aber dann würde ich sagen, evaluate
ist sauberer.
\documentclass[border=4mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[line cap=round]
\draw[ultra thick,color=black] (0,0) -- (26,0);
\foreach \x[evaluate=\x as \text using \x*0.001] in {0,...,40}{
\draw (\x*0.65,2pt) -- ++(0,-4pt)
node[below=3pt,anchor=west,align=left,rotate = 270]
{\pgfmathprintnumber[fixed,fixed zerofill,precision=3]{\text}};
}
\end{tikzpicture}
\end{document}