23

How can we plot the following three functions

  • f(x) = sin(x)
  • k(x) = cos(x)
  • u(x) = x²

for x ∈ [0,1]

on a single plot with the help of TikZ?

doncherry
  • 54,637
Mia
  • 1,151

2 Answers2

38

In pgfplots, you can implement the task with

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[domain=0:1,legend pos=outer north east]
    \addplot {sin(deg(x))}; 
    \addplot {cos(deg(x))}; 
    \addplot {x^2};
    \legend{$\sin(x)$,$\cos(x)$,$x^2$}
    \end{axis}
\end{tikzpicture}
\end{document}

Since the options are provided for the complete axis, the domain is shared among all these functions. The TikZ function deg(x) converts x from radians to degrees (similar to the postfix operator x r which does not appear to work in pgfplots).

The \legend describes the legend's values and the legend pos option is one of the prescribed ways to configure the legend.

enter image description here

You could also use \addplot[color=red] to configure color/marker and what-ever styles as discussed by Tobi.

Peter Grill
  • 223,288
  • 3
    Thanks for your addition! I was too lazy to give a full solution, but only because Mozo was too lazy to read the manual first himself … – Tobi Apr 20 '11 at 21:43
17

This is the example which can be fount in the pgfmanual.pdf on p. 225

\documentclass{minimal}
\usepackage{tikz,pgfplots}

\begin{document}
\begin{tikzpicture}[domain=0:4]
    \draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
    \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
    \draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
    \draw[color=red]    plot (\x,\x)    node[right] {$f(x) =x$};
    \draw[color=blue]   plot (\x,{sin(\x r)})   node[right] {$f(x) = \sin x$};
    \draw[color=orange] plot (\x,{0.05*exp(\x)}) node[right]
        {$f(x) = \frac{1}{20} \mathrm e^x$};
\end{tikzpicture}
\end{document}

Think you can adapt it for your functions?!

There ist also a way with pgfplots. See the above mentioned manual for more information.

Tobi
  • 56,353