7 Jan 2010 09:47
Bounding the range in a tikzpicture plot?
Markus Neher <markus.neher <at> math.uni-karlsruhe.de>
2010-01-07 08:47:09 GMT
2010-01-07 08:47:09 GMT
Hello,
is there a way to use tikz for plotting several functions on the same
domain, and with a common user-defined range bound?
Sample problem:
\begin{tikzpicture}[scale=1.2]
\draw[domain=-1.5:3, range=-3:3, red]
plot[id=f, samples=50] function{x**3-2*x**2-x+2};
\draw[domain=-1.5:3, range=-3:3, green]
plot[id=df, samples=50] function{3*x**2-4*x-1};
\draw[domain=-1.5:3, range=-3:3, blue]
plot[id=ddf, samples=50] function{6*x-4};
\end{tikzpicture}
Unfortunately, the range bound [-3:3] is ignored when the plot is compiled.
To solve the problem, I tried modifying tikz.code.tex to pass the yrange
argument to gnuplot. This worked such that the gnuplot file for the
first function read
set terminal table; set output "myfile.f.table"; set format "%.5f"
set samples 50; set yrange [-3:3]; plot [x=-1.5:3] x**3-2*x**2-x+2
The first 6 lines of the table became
#Curve 0 of 1, 50 points
#x y type
-1.50000 -4.37500 o
-1.40816 -3.34996 o
-1.31633 -2.42992 i
-1.22449 -1.61023 i
The third column reflects the range bound correctly. However, this
column is ignored when the plot is displayed, whereas entering the
commands "set yrange [-3:3]" and "plot [x=-1.5:3] x**3-2*x**2-x+2"
interactively in gnuplot, the plot is displayed as desired.
There are two obvious workarounds for the problem, but both are not
practical:
- modify the domain of each function to fit the desired range
- delete all lines in the table files that contain an "o" in column 3
Any suggestions for a solution to the problem or for a procedure that is
practical for generating a large number (say 100) of plots are highly
welcome.
Markus
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
RSS Feed