TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do I plot a function of a binary logarithm with TikZ? Say that I want to plot f(x) = log_2 x.

share|improve this question
You should look at the pgfplots package (page 33). It's much better than tikz for plots and it can use the external program gnuplot! – Spike Jun 1 '11 at 12:05
@Spike The problem is that I don't find a command for binary logarithms for TikZ or gnuplot. Also you don't need pgfplots to call gnuplot from TikZ. – N.N. Jun 1 '11 at 12:30
Do you need the horizontal axis in semi-log scale? :) – xport Jun 2 '11 at 16:17
up vote 14 down vote accepted

The pgfmath function that you can use directly in TikZ is called log2. PGFplots uses the fpu library, which doesn't have this function, but you can get the same result by using ln(x)/ln(2) instead:



\draw [help lines] (0,-4) grid [step=1] (10,4);
\draw (0,0) -- (10,0);
\draw plot [domain=0.1:10,samples=100] (\x,{log2(\x)});
\draw plot [domain=0.1:10,samples=100] (\x,{log2(\x)});


\begin{tikzpicture}[trim axis left]
  enlarge x limits=false,
  no markers,
  axis equal]
\addplot +[thick] {ln(x)/ln(2)};


share|improve this answer
I get ! Package PGF Math Error: Unknown function log2'.` from the top graph (using log2()). Maybe it's my TikZ version (2008/02/13 v2.00 (rcs-revision 1.27)). – N.N. Jun 1 '11 at 14:09
@N.N. Yes, v. 2.0 is outdated, you should upgrade to the current version 2.1 – Jake Jun 1 '11 at 15:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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