13

I want to draw a very simple number line, i found some code that got me started here. I have modified the code to get the following picture

enter image description here

The problem is that I want the numbers below the line to show up as {-3,2,1,0,1,2,3} but I can't figure out how to modify the following code to do this.

\usetikzlibrary{arrows}
\begin{tikzpicture}
\draw[latex-] (-6.5,0) -- (6.5,0) ;
\draw[-latex] (-6.5,0) -- (6.5,0) ;
\foreach \x in  {-6,-4,-2,0,2,4,6}
\draw[shift={(\x,0)},color=black] (0pt,3pt) -- (0pt,-3pt);
\foreach \x in {-6,-4,-2,0,2,4,6}
\draw[shift={(\x,0)},color=black] (0pt,0pt) -- (0pt,-3pt) node[below] 
{$\x$};
\draw[*-o] (0.92,0) -- (2.08,0);
\draw[very thick    ] (0.92,0) -- (1.92,0);

\end{tikzpicture}

It would nice if I could just divide \x by 2 in place of node[below] {$\x$}, but I don't know how to do this. Thanks!

  • Change {-6,-4,-2,0,2,4,6} to {-3,-2,-1,0,1,2,3} – azetina Dec 03 '13 at 23:20
  • I didn't mean to write \x2= int(mod(\x +2,3)) in the middle of the code. I deleted it now. – JimmyJackson Dec 03 '13 at 23:31
  • 2
    Similar visualization: [1]; different visualization: [2], [3]. – Qrrbrbirlbel Dec 03 '13 at 23:39
  • 2
    You can use $\pgfmathprint{int(\x/2)}$ as node text. By the way, why don't you put the node part in the first loop and remove the second one entirely? If you want to follow @azetina's comment, you can use {-3,...,3} but with x=2cm or xscale=2. – Qrrbrbirlbel Dec 03 '13 at 23:49
  • @Qrrbrbirlbel You should post an answer so the OP can learn different methods. Mine is minimal. – azetina Dec 03 '13 at 23:55
  • @Qrrbrbirlbel Thanks, $\pgfmathprint{int(\x/2)}$ is the functionality I was looking for. I combined the first and second loop now. I am very new to this, thanks for the guidance. – JimmyJackson Dec 04 '13 at 13:47

2 Answers2

16

See the following MWE:

enter image description here

\documentclass[letterpaper]{article}
\usepackage{tikz}
\usepackage{amsmath}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
\draw[latex-latex] (-3.5,0) -- (3.5,0) ; %edit here for the axis
\foreach \x in  {-3,-2,-1,0,1,2,3} % edit here for the vertical lines
\draw[shift={(\x,0)},color=black] (0pt,3pt) -- (0pt,-3pt);
\foreach \x in {-3,-2,-1,0,1,2,3} % edit here for the numbers
\draw[shift={(\x,0)},color=black] (0pt,0pt) -- (0pt,-3pt) node[below] 
{$\x$};
\draw[*-o] (0.92,0) -- (2.08,0);
\draw[very thick] (0.92,0) -- (1.92,0);
\end{tikzpicture}
\end{document}

Here is something that can work for now with the scaling:

\begin{tikzpicture}[scale=2.5]
\draw[very thick] (1,0) -- (2,0);
\path [draw=black, fill=black] (1,0) circle (2pt);
\path [draw=black, fill=white, thick] (2,0.0) circle (2pt);
\draw[latex-latex] (-3.5,0) -- (3.5,0) ;
\foreach \x in  {-3,-2,-1,0,1,2,3}
\draw[shift={(\x,0)},color=black] (0pt,3pt) -- (0pt,-3pt);
\foreach \x in {-3,-2,-1,0,1,2,3}
\draw[shift={(\x,0)},color=black] (0pt,0pt) -- (0pt,-3pt) node[below] 
{$\x$};
\end{tikzpicture}
azetina
  • 28,884
7
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-plot}
\psset{xunit=15mm}
\begin{document}
\begin{pspicture}(-3,-.5)(3,.5)
    \psaxes[yAxis=false,ticksize=0 -4pt]{<->}(0,0)(-3,-1)(3,1)
    \psline[linecolor=blue,arrowscale=1.25]{o-*}(.5,0)(2,0)
\end{pspicture}
\end{document}

enter image description here