Está en la página 1de 16

Edición de textos científicos con software libre

Daniel López Avellaneda (matematicasies.com)

Z
Ti k
Gráficos con TikZ

Manual para el curso online organizado por:


CEP Indalo

http://www.cepindalo.es

Marzo 2012 - Mayo 2012


ÍNDICE #1

Índice

1. Introducción a TikZ 2
1.1. ¿Qué es TikZ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Usando TikZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Primeros gráficos 4
2.1. Coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Segmentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Escalas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4. Rejilla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5. Figuras: Círculo, rectángulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6. Flechas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.7. Grosor de línea: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.8. Estilo de línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.9. Colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.10. Recortar a una ventana : clip . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3. Curvas 11
3.1. Dibujar una curva: plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4. Programas auxiliares 13
4.1. Geogebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Gráficos con TikZ


1 INTRODUCCIÓN A TIK Z #2

1 Introducción a TikZ

1.1 ¿Qué es TikZ?


TikZ es un paquete para LATEX que permite incluir gráficos de forma nativa en el pdf
resultante.
¿Qué diferencia hay entre incluir un gráfico nativo de LATEX e incluir una imagen? Hay una
enorme diferencia. Vea la siguientes imágenes ya haga zoom en el pdf y observe los resultados:

gráfico insertado como imagen

gráfico nativo con TikZ

93,87◦

A 28,47◦
57,66◦
C

Gráficos con TikZ


1 INTRODUCCIÓN A TIK Z #3

1.2 Usando TikZ


Para usar el paquete de gráficos TikZ debemos incluirlo en el preámbulo:

\usepackage{tikz}

En LYX debemos ir al manú Documento / Configuración y seleccionar el apartado Preámbulo


LATEX. En dicho preámbulo es donde incluiremos la orden \usepackage{tikz}
Para incluir un gráfico de tikz en nuestro documento usaremos el siguiente código LATEX:

\begin{tikzpicture}
....
\end{tikzpicture}

Veamos un ejemplo:

\begin{tikzpicture}
\draw (0,0)--(3,0)--(3,3)--(0,0);
\draw (0,0) circle (1) ;
\end{tikzpicture}

Creará la siguiente imagen:

Gráficos con TikZ


2 PRIMEROS GRÁFICOS #4

2 Primeros gráficos
La siguiente imagen

está generada por el siguiente código:

\begin{tikzpicture}[scale=2]
\draw (0,0) circle (1) ;
\draw (1,0) -- (0,1) -- (0,-1) -- (1,0);
\draw[help lines] (-2,-2) grid (2,2);
\end{tikzpicture}

Hemos usado los siguientes recursos, que veremos más adelante:

segmentos

escala

coordenadas

rejilla

figuras (círculo)

Gráficos con TikZ


2 PRIMEROS GRÁFICOS #5

2.1 Coordenadas
Tikz usa siempre unas coordenadas cartesianas como referencia para dibujar trazos y figuras
planas, aunque también es posible introducirle comandos en coordenadas polares.
En los siguientes comandos veremos expresiones del tipo (a,b) que representarán el punto
del plano (a,b).

2.2 Segmentos
El siguiente código completa un triángulo mediante tres segmentos:
\draw (1,0) -- (0,1) -- (0,-1) -- (1,0);
Dibuja un segmeto desde el punto (0,0) hasta el punto (0,1). Otro segmento desde (0,1) hasta
(0,-1) y otro desde (0,-1) hasta (1,0).

2.3 Escalas
La siguiente orden
\begin{tikzpicture}[scale=2]
contiene el parámetro [scale=2] que significa una escala de 2 cm entre cada valor entero de los
ejes de coordenadas, es decir, entre el punto (1,0) y el (2,0) hay 2 cm.
Cuando no ponemos el parámetro scale, tomará por defecto un [scale=1], por tanto 1 cm
de separación entre dos valores enteros consecutivos de los ejes.
Es posible usar escalas diferentes para cada uno de los ejes, por ejemplo:
\begin{tikzpicture}[xscale=2][yscale=0.5]

2.4 Rejilla
Para dibujar una rejilla de ayuda usaremos el comando:
\draw[help lines] (-2,-2) grid (2,2);
donde (-2,2) es el punto inferior-izquierdo y (2,2) el punto superior -derecho. Ambos puntos
determinan los vértices opuestos de un rectángulo donde dibujará rejilla.

Gráficos con TikZ


2 PRIMEROS GRÁFICOS #6

2.5 Figuras: Círculo, rectángulo


Las siguientes líneas de texto:

\draw (0,0) circle (2);


\draw (1,0) rectangle (3,2);
\draw[help lines] (-3,-3) grid (4,3);

dibujarán una circunferencia de centro (0,0) y radio 2 y un rectángulo cuya diagonal está deter-
minada por los puntos (0,0) y (3,2). La tercera línea añadirá una rejilla de diagonal determinada
por los puntos (-3,3) y (4,3)

Para dibujar figuras rellenas usaremos el parámetro fill


Al ejemplo anterior le añadimos el parámetro [fill=orange] para que dibuje el rectángulo
relleno de color naranja.

Gráficos con TikZ


2 PRIMEROS GRÁFICOS #7

2.6 Flechas
\draw[->] (0,0) -- (3,0);
\draw[<-] (0,0) -- (3,0);
\draw[|->] (0,0) -- (3,0);
\draw[<->] (0,0) -- (3,0);

2.7 Grosor de línea:


\draw [ultra thick] (0,1) -- (2,1);
\draw [thick] (0,0.5) -- (2,0.5);
\draw [thin] (0,0) -- (2,0);

Otras opciones: ultra thin , very thin , thin , semithick , thick , very thick, ultra thick
Tamaño personalizado:

\draw [line width=6] (0,0) -- (2,0);

2.8 Estilo de línea


\draw [dashed, ultra thick] (0,1) -- (2,1);
\draw [dashed] (0, 0.5) -- (2,0.5);
\draw [dotted] (0,0) -- (2,0);

Gráficos con TikZ


2 PRIMEROS GRÁFICOS #8

Otras opciones: dotted, loosely dotted, densely dotted


Otras opciones: dashed, loosely dashed, densely dashed
Doble línea:

\draw [double] (0,0) -- (1,0);


\draw [double distance = 5pt] (0,0) -- (1,0);

2.9 Colores
\draw [red] (0,3) -- (4,3);
\draw [blue][double distance = 3pt] (0,2) -- (4,2);

Colores:
red, green, blue, cyan, yellow, magenta, black, white, gray
[color=gray!20] sería un gris a un 20 %
Toda la figura en rojo:

\begin{tikzpicture}[red]

Usar cualquier color:


En el preámbulo:

\usepackage [usenames,dvipsnames]{color}

Después usaríamos [color=blue!40!red] (sería un 40 % azul y el 60 % rojo)

Gráficos con TikZ


2 PRIMEROS GRÁFICOS #9

2.10 Recortar a una ventana : clip


El siguiente código:

\begin{tikzpicture}
\draw[help lines] (-5,-5) grid (5,5);
\draw (0,0) circle(4);
\draw (-3,-2) rectangle (3,2);
\end{tikzpicture}

producirá este dibujo:

Si le añadimos al principio la línea:

\clip (-4,-2.5) rectangle (4,2.5);

nos recortrá la ventana de visualización al rectángulo de diagonal determinada por los puntos
(-4,-2.5) y (4,2.5);

Gráficos con TikZ


2 PRIMEROS GRÁFICOS #10

\begin{tikzpicture}
\clip (-4,-2.5) rectangle (4,2.5);
\draw[help lines] (-5,-5) grid (5,5);
\draw (0,0) circle(4);
\draw (-3,-2) rectangle (3,2);
\end{tikzpicture}

Gráficos con TikZ


3 CURVAS #11

3 Curvas

3.1 Dibujar una curva: plot


\begin{tikzpicture}
\draw [<->](0,-4)--(0,4);
\draw [<->](-6,0)--(6,0);
\draw [help lines] (-6,-4) grid (6,4);
\draw [red] plot [domain=-6:6] (\x, 0.5*\x);
\end{tikzpicture}

En el gráfico anterior hemos dibujado los ejes (con un par de flechas) y una rejilla según
hemos visto en apartados anteriores.
La línea:

\draw [red] plot [domain=-6:6] (\x, 0.5*\x);

dibuja en rojo la función y = 0,5 · x. Hemos definido el dominio en [-6,6] (si no indicamos
dominio, tomará por defecto [-5,5]).
Observe también que la variable x va precedida de barra inversa(\).

Gráficos con TikZ


3 CURVAS #12

Veamos otro ejemplo:

\begin{tikzpicture}
\draw [<->](0,-1)--(0,3);
\draw [<->](-1,0)--(4,0);
\draw [help lines] (-1,-1) grid (4,3);
\draw [red] plot [domain=0.5:4] (\x, 1/\x);
\fill[color=gray!20] (1,0)--(1,1)-- plot [domain=1:2] (\x,1/\x)--(2,0)--cycle;
\end{tikzpicture}

En este ejemplo, además de dibujar ejes, rejilla y una función, he añadido la línea:

\fill[color=gray!20] (1,0) -- (1,1) -- plot [domain=1:2] (\x,1/\x) -- (2,0) -- cycle;

En ella decimos que dibuje una figura rellena (fill) de color gris a un 20 % formada por cuatro
trazos, uno de ellos es un trozo de función. El último trozo (2,0)--cycle también se puede
expresar de la forma (2,0) -- (1,0). Con cycle le estamos diciendo que cierre el polígono.
También podemos expresar coordenadas en tres dimensiones. El siguiente código dibuja
un cubo.

\draw (0,0,0)--(1,0,0)--(1,1,0)--(0,1,0)--cycle;
\draw (0,0,1)--(1,0,1)--(1,1,1)--(0,1,1)--cycle;
\draw (0,0,0) -- (0,0,1);
\draw (1,0,0) -- (1,0,1);
\draw (1,1,0) -- (1,1,1);
\draw (0,1,0) -- (0,1,1);

Gráficos con TikZ


4 PROGRAMAS AUXILIARES #13

4 Programas auxiliares
Puede resultar engorroso aprenderse tantos comandos para dibujar. Afortunadamente hay
programas que lo harán por nosotros. Quizás el mejor sea Geogebra

4.1 Geogebra
El programa geogebra permite exportar cualquier dibujo a código PGF/Tikz.
En primer lugar haremos una construcción sencilla con geogebra. Dibujamos la función
y = x2 (basta con teclear x^2 en el campo de entrada en la parte inferior). Haciendo clic
derecho sobre la parábola, seleccionamos propiedades, le ponemos un color y en estilo ponemos
un trazo más grueso. Quedaría algo así:

Ahora seleccionamos el menú Archivo / Exporta / Vista gráfica com PGF/TiK x

Gráficos con TikZ


4 PROGRAMAS AUXILIARES #14

Pulsamos sobre Genera código PGZ/TiKZ y obtenemos el siguiente código:


\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\definecolor{ffqqqq}{rgb}{1,0,0}
\definecolor{cqcqcq}{rgb}{0.75,0.75,0.75}
\begin{tikzpicture}[line cap=round,line
join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw [color=cqcqcq,dash pattern=on 3pt off 3pt, xstep=1.0cm,ystep=1.0cm] (-4.3,-1.26) grid (4.28,6.3);
\draw[->,color=black] (-4.3,0) -- (4.28,0);
\foreach \x in {-4,-3,-2,-1,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
\draw[->,color=black] (0,-1.26) -- (0,6.3);
\foreach \y in {-1,1,2,3,4,5,6}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt)
node[left] {\footnotesize $\y$};
\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};
\clip(-4.3,-1.26) rectangle (4.28,6.3); \draw[line width=2pt,color=ffqqqq,
smooth,samples=100,domain=-4.300000000000001:4.2799999999999985]
plot(\x,{(\x)^2});
\end{tikzpicture}
\end{document}

LIncluimos en el preámbulo los paquetes y librerías que necesita:


\usepackage{pgf,tikz}
\usetikzlibrary{arrows}

En el documento ponemos, mediante insertar código LATEX, todo el código que hay entre \be-
gin{document} y \end{document}
\definecolor{ffqqqq}{rgb}{1,0,0}
\definecolor{cqcqcq}{rgb}{0.75,0.75,0.75}
...
plot(\x,{(\x)^2});
\end{tikzpicture}

Gráficos con TikZ


4 PROGRAMAS AUXILIARES #15

Y ya tenemos nuestro gráfico nativo-LATEX con TiK z.


Para comprobar que es un gráfico nativo y no una imagen, amplie el pdf resultante y
observará como la imagen no se distorsiona.

−4 −3 −2 −1 0 1 2 3 4
−1

Gráficos con TikZ

También podría gustarte