Incorrect plot using pgfplots (trigonometric functions like cos, sin and tan)
TikZ uses degrees instead of radians (yes, yes, I know ...). So you need to replace pi
by 180
(or, as Jake suggests in the comments, replace atan(x)
by rad(atan(x))
; the rad
function converts degrees to radians).
\documentclass{minimal}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=Gameplays,ylabel=Rating]
\addplot+[gray,domain=1:30]
{0.5 + 0.5 * ((atan(x) * 2 / 180)^11.79)};
\end{axis}
\end{tikzpicture}
\end{document}
This produces:
which looks a lot more like what you want (the numbers on your graph are a little small for me so I compared with the output I get from gnuplot using your function and it looks right when compared with that).
This is old but I found it when I had the same problem. Now there is a new solution called trig format plots=rad
.
\begin{axis}[trig format plots=rad]
...
See the manual section 4.3.3 Computing Coordinates with Mathematical Expressions.
Just for search engines: pgfplots, trigonometric functions, radian, degree, wrong result, wrong plot
Only for information. This is not an answer but I try your function with tkz-fct (tkz-fct works with tikz and gnuplot).
pgfplots is more complete and sophisticated package than tkz-fct.
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{tkz-fct}
\begin{document}
\begin{center}
\begin{tikzpicture}
\tkzInit[xmin=0,xmax=30,,xstep=5,
ymin=0.4,ymax=1,ystep=0.1]
\tkzAxeXY
\tkzGrid
\tkzFct[domain=1:30]{0.5 + 0.5 * ((atan(\x) * 2 / pi)**11.79) }
\end{tikzpicture}
\end{center}
\end{document
}