Estoy intentando mostrar una regla de 0 a 1 usando 3 números decimales. Entonces me gustaría que la regla se viera así:
0,000 0,001 0,002 0,003 ..... 0,010 0,011
Etc.
Dado que esto sería demasiado para caber en 1 página, planeo dividirlo en varias páginas y uso este fragmento de código para la primera página.
\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}
Después de ejecutar este código obtengo el siguiente resultado
¿Es posible obtener el número no en forma estándar sino como se muestra en el ejemplo escrito?
¿Es posible simplificar el ciclo y no utilizar evaluar y simplemente hacer algo como:
\draw[shift={(\x*0.65,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[yshift = -20pt,rotate = 270] { \x*0.001 };
}
Gracias
Respuesta1
No entiendo muy bien por qué tienes esas \pgfmathparse
cosas cuando ya las estás usando evaluate
. Solo úsalo \pgfmathprintnumber[fixed,precision=3]{\text}
en el node
texto. fixed
desactiva la notación científica. Úselo \pgfmathprintnumber[fixed,fixed zerofill,precision=3]{\text}
para obtener 0.000
en lugar de 0.0
.
No puede utilizar \x*0.001
texto directamente en el nodo, ya que no se analiza como un número, es solo texto. Se podría decir node[...]{\pgfmathparse{\x*0.001}\pgfmathprintnumber[fixed,precision=3]{\pgfmathresult}};
, pero yo diría que evaluate
es más limpio.
\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}