I want to draw functions and have used this code. But I don't like to give every function a separate domain, I want to say this function has ymax=4 and ymin=-3. Who can help me?

enter image description here

\begin{tikzpicture}[scale=1, >=latex]
\draw[very thin, color=black, dotted, step=1 cm] (-7,-5) grid (7,5);
\draw[->] (-7.5,0) -- (7.5,0) node[right] {\scriptsize $x$};
\draw[->] (0,-5) -- (0,5.5) node[above] {\scriptsize $f(x)$};
\foreach \x in {-7,-6,...,7} \draw (\x, 1pt) -- (\x,-3pt) node[anchor=north] {\tiny \x};
\foreach \y in {-5,-4,...,5} \draw (1pt,\y) -- (-3pt,\y) node[anchor=east] {\tiny \y};
\draw[color=black, very thick, domain=-2.2:2.1, samples=100]   plot (\x,{-1/3*(\x)^2})
  node[right] {\tiny $p_1$};
\draw[color=black, dashed, domain=-1.1:1.1, samples=100]   plot (\x,{1/6*(\x)^2})
    node[right] {\tiny $p_2$};
\draw[color=black, thick, domain=-2.2:2.2, samples=100]   plot (\x,{-(\x)^2})
    node[right] {\tiny $p_3$};
\draw[color=black, thin, samples=100]   plot (\x,{0.1*(\x)^2}) node[right] {\tiny $p_4$};
  • 1
    Welcome to TeX.SX! Please make your code compilable, starting with \documentclass{...} and ending with \end{document}. That may seem tedious to you, but think of the extra work it represents for TeX.SX users willing to help you. Help them help you: remove that one hurdle between you and a solution to your problem. – jub0bs Aug 21 '13 at 12:19

For this type of graph, I recommend using the pgfplots package over tikz, which is limited in terms of control over axis range and function domain. The code below should get you started with pgfplots.

Edit: Use the minor x tick num = n key (and equivalents for y- and z-axes) to specify how many minor ticks ('n', here) you want between two successive major ticks. Be mindful of potential off-by-one errors: n minor ticks translate to n+1 subintervals between two successive major ticks.

enter image description here

            minor x tick num=4, % 4 minor ticks => 5 subintervals
            xlabel={\scriptsize $x$},
            axis x line=middle,
            minor y tick num=4,  % 4 minor ticks => 5 subintervals
            ylabel={\scriptsize $f(x)$},
            axis y line=middle,
            no markers,
        \addplot (x,{-1/3*x^2});
        \addplot (x,{1/6*x^2});
        \addplot (x,{-x^2});
        \addplot (x,{0.1*x^2});
  • 2
    @Timperman You can use compat=newest to use whatever the newest version in your system but nevertheless try to update to the new version and use 1.8 key which is the current new version number. – percusse Aug 21 '13 at 13:07
  • 3
    @Timperman remove that line then. And can you put \pgfplotsversion in the document (not preamble) to see what is installed? – percusse Aug 21 '13 at 13:35
  • 1
    Thanks, but that wasn't giving anything, untill I have found how to install the updates with the Tex Live Utility. It updated 261 packages. Thanks everyone for the help! – Arne Timperman Aug 21 '13 at 13:57
  • 2
    Glad percusse and I could help, but remember that accepting and upvoting answers is the preferred way here to say “thank you” to users who helped you. – jub0bs Aug 21 '13 at 14:02
  • 1
    @Arne See my edit. – jub0bs Aug 23 '13 at 21:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.