Imos cun sinxelo diagrama estatístico, que podemos facer con TikZ sen ningunha dificultade.
Ao fin e ao cabo, os diagramas de caixa e bigotes só precisan unha liña horizontal e dous rectángulos.

Pero como pode que precisemos facer uns cantos diagramas semellantes, o que podemos é aproveitar a capacidade de TikZ para adaptarse a valores variables.

Neste caso definín cinco variables, que son xustamente os valores que buscamos representar:

\newcommand\xmin{0}    % mínmo do rango
\newcommand\xmax{10} % máximo do rango
\newcommand\qun{4}      % Q1
\newcommand\qdous{5}  % Q2
\newcommand\qtres{7}    % Q3

Basta modificar os distintos valores para obter un diagrama diferente, sempre co mesmo código para a imaxe propiamente dita:

\begin{tikzpicture}
\draw[thick] (\xmin,0) — (\xmax,0);
\draw[thick] (\xmin,-.2) — (\xmin,.2) (\xmax,-.2) — (\xmax,.2);
\foreach \n in {\xmin,…,\xmax} \node at (\n,-1) {$\n$};
\node at (\xmin,1) {Mínimo};
\node at (\xmax,1) {Máximo};
\node at (\qun,1) {$Q_1$};
\node at (\qdous,1) {$Q_2$};
\node at (\qtres,1) {$Q_3$};
\draw[thick,fill=orange!50] (\qun,-.5) rectangle (\qdous,.5);
\draw[thick,fill=cyan!50] (\qdous,-.5) rectangle (\qtres,.5);
\end{tikzpicture}

Eso si, se vas a utilizar varios gráficos deste tipo no mesmo documento (ou entorno) tes que ter en conta que non podes definir por segunda vez un comando que xa está definido.

Nese caso, terás que empregar renewcommand en lugar de newcommand.

\renewcommand\qun{3}      % Q1
\renewcommand\qdous{4.5}  % Q2
\renewcommand\qtres{6}    % Q3

En xeral as imaxes creadas en TikZ se colocan do xeito habitual, pero hai un caso particular no que sistemáticamente quedan mal posicionadas: cando son o primeiro que aparece nun elemento dunha lista.

Por exemplo, unha lista na que aparece un rectángulo podemos ver un símbolo do item na parte baixa da imaxe.

\begin{enumerate}
\item \begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\end{tikzpicture}
\end{enumerate}

Cando realmente o que adoito preferir é que o símbolo apareza na parte alta.

Para eso basta con indicarlle ao entorno TikZ onde queremos colocala imaxe:

\begin{enumerate}
\item \begin{tikzpicture}[baseline = (current bounding box.north)]
\draw (0,0) rectangle (4,3);
\end{tikzpicture}
\end{enumerate}

 

Quería facer un gráfico sinxelo para representar un fragmento da área pechada entre unha función de densidade e o eixo horizontal.

Polo que andiven a ler, probablemente o mellor xeito sería empregar pgfplots. Podes ver un exemplo aquí, que semella moi resultón.
Mais como xa estou afeita a usar TikZ e ademáis precisaba algo sinxeliño, optei por un código que é moi doado de modificar para os distintos usos que lle podo dar a este tipo de gráficos.

Xa ves que está minimalista de todo, pero esa era a idea. Segundo o caso engadirei máis información, pero como exemplo básico de área baixo unha curva é suficiente.

\pgfmathdeclarefunction{funcionf}{1}{%
\pgfmathparse{3*#1^2/8}%
}
\def\puntoa{.5}
\def\puntob{1.75}
\def\fa{{funcionf(\puntoa)}}
\def\fb{{funcionf(\puntob)}}

\begin{tikzpicture}
\fill[fill=cyan] (\puntoa,0) — plot[domain={\puntoa}:{\puntob}] (\x,{funcionf(\x)}) — (\puntob,0) — cycle;
\draw[blue,dashed] ({\puntoa},0) node[below]{$a$} — ({\puntoa},{\fa});
\draw[blue,dashed] ({\puntob},0) node[below]{$b$} — ({\puntob},{\fb});
\draw[->] (0,0) — (3,0);
\draw[->] (0,0) — (0,2);
\draw[domain=0:2,blue,thick] plot(\x,{funcionf(\x)});
\draw[blue,fill=white] (2,{funcionf(2)}) circle (1pt);
%\draw[blue,fill=white] (0,{funcionf(0)}) circle (1pt);
\draw[blue,fill=blue] (2,0) circle (1pt);
\draw[domain=2:3,blue,thick] plot(\x,0);
\end{tikzpicture}

Como quería facelo o máis xenérico posible, o primeiro que fixe foi declarar unha función sinxeliña, que pode modificarse segundo a ocasión. Por exemplo, por unha función de densidade.
Tamén definín os puntos entre os que se coloreará a área.

No debuxo primeiro fago o recheo, pois se o fas noutra orde parece superporse ás liñas.
E despois van todas as liñas, sendo a última a da propia función para que asegurarme de que nada a oculta.

Para empregar este código, ademáis de modificar os datos (a función, a, b) habería que ter en conta que podemos precisar cambiar o dominio da función así como os eixos, e que habería que facelo no entorno tikzpicture. (Creo que non compensa definilo como variable.)

Creo que para o que para uns cantos exemplos coa distribución normal esto resúltame máis que suficiente.
De todos xeitos, se queres facer uns cantos gráficos de áreas entre dous curvas creo que si que se aforraría bastante traballo pasando a pgfplots.
Cando chegue aló xa che contarei!

 

Facer diagramas de Venn con TikZ pode ser un pouco complexo, pois require manexar o comando \clip e eso ten un chisco de truco.

Para exemplos básicos atopei este exemplo de TeXample que con un par de pequenos cambios para axeitalo ao meu estilo me permite ter as definicións das operacións de conxuntos con diagramas.
(Podes ver que faltaría definir o complementario dun conxunto, pero ese é tan básico como debuxar un conxunto en branco sobre un fondo sombreado.)

Para exercicios un pouco máis elaborados atopo moi práctico o paquete venndiagram, que debuxa dous ou tres conxuntos con intersección común e basta indicar que segmentos queremos sombrear.
A última versión parece ser a 1.2, e podes atopar o manual aquí.

De todos xeitos, este paquete non permite realizar diagramas con só un conxunto (p.ex. para definir o complementario), con máis de tres conxuntos ou con conxuntos disxuntos.
Para todo eso, segue sendo preciso empregar TikZ directamente.

Outro uso máis do paquete TikZ.

Desta volta veño de usalo para crear algúns botóns de calculadora sinxelos.
Hai opcións máis elaboradas (atopei cousiñas interesantes en stackexchange) mais tendo en conta que non é nada complicado de facer con TikZ (e de modificar, se logo cambio de idea con respecto as cores) e que xa estou afeita.

Ademáis do paquete necesitamos empregar unha librería adicional se queremos amosar sombras.

\usepackage{tikz}
\usetikzlibrary{shadows}

O que fixen neste caso foi definir un comando novo, de tal xeito que poida chamalo cada vez que preciso debuxar un botonciño.
Poderías poñer a definición do comando no preámbulo (antes dos contidos do documento) ou incluso noutro documento do teu proxecto, para poder empregalo en distintas partes do mesmo proxecto.

\newcommand{\botoncalc}[1]%
{ \begin{tikzpicture}[baseline=(boton.base)]
\node[draw=gray,
text=white,
fill=lightgray,
rounded corners=4pt,
inner sep=3pt,
text height=1.5ex,
minimum width=1.6em,
minimum height=1.6em,
drop shadow={fill=gray,shadow xshift=1pt, shadow yshift=-1pt, shadow scale=1},
] (boton) {#1};
\end{tikzpicture}
}

Neste caso tan sinxeliño só preciso dunha variable (por eso podes ver un [1] na primeira liña) que representa o texto que vou amosar. No código refírese a ela por #1.
Se quixese, por exemplo, que ademáis me permitise modificar a cor do botón. Pero non é o caso.

Logo basta chamalo, pasándolle o valor da variable que sexa preciso. Pode ser texto plano ou texto matemático, e acepta os formatos habituais.

\botoncalc{$\wedge$} ou \botoncalc{$x^y$} ou \botoncalc{$\blacksquare ^ \square$}

 

Esta entrada tamén fala de TikZ, así que lóxicamente é imprescindible ter o paquete cargado, mais non precisa ningunha libraría adicional.

\usepackage{tikz}

Cando colocas varias imaxes nun mesmo entorno tikzpicture podes precisar as coordenadas de cada unha delas con respecto á mesma orixe de coordenadas, pero eso ten unha desvantaxe:
Se por algún motivo decides mover/eliminar/modificar unha das figuras entón tes que ir axustando as coordenadas de todas as demáis pezas, e ás veces eso é un lío.

Por eso é con frecuencia máis cómodo crear separadamente cada figura (nun scope) e logo indicar a posición na que queremos colocala.
Se logo modificamos algo, só teremos que ir axustando as posicións das figuras restantes.

Por exemplo, as dúas figuras desta imaxe teñen exactamente as mesmas coordenadas.

\begin{tikzpicture}
\filldraw[fill=purple] (0,0) — (5,0) — (5,1) — (4,1) — (4,2) — (2,2) — cycle;
\begin{scope}[xshift=6cm,yshift=1cm,yscale=.6,xscale=.6,rotate=30]
\filldraw[fill=orange] (0,0) — (5,0) — (5,1) — (4,1) — (4,2) — (2,2) — cycle;
\end{scope}
\end{tikzpicture}

A segunda figura é idéntica á primeira, pero está nun entorno scope que pode configurarse con distintos parámetros opcionais:

  • xshift/yshift para trasladar no eixo horizontal e no vertical
  • xscale/yscale para aplicar unha escala. Pode ser negativa, o que permite facer unha simetría.
  • rotate para aplicar unha rotación con un ángulo determinado.

Como podes ver esto permite crear imaxes para os temas de semellanzas e movementos dun xeito moi sinxelo.

Para rematar, mencionar que eses parámetros se lles pode pasar a un entorno tikzpicture completo, por exemplo para escalar unha imaxe (fágoas con valores enteiros por simplicidade e logo escáloas para que se axusten o meu espazo) pero que se creas imaxes con varias figuras e cres que poderás modificalas no futuro, poder trasladalas é moi práctico.

O uso fundamental que fago de Tikz é o de creación de imaxes.

Pero hai unha utilidade adicional que me permite realizar anotacións (por exemplo, explicacións ou aclaracións sobre un exercicio) de xeito non lineal. Lineal no sentido de non escribir todo en liñas, non nos vaiamos a conceptos matemáticos por unha vez xD

En fin, que atopo moi prácticas es frechiñas de Tikz para cousas como esta táboa de frecuencias.

Trátase dunha táboa ordinaria, non ten nada de particular.
Pero a continuación dela engadín unha figura Tikz co parámetro opcional que lle indica que debe superpoñerse a resto do noso código LaTeX (que pode incluir outro gráfico, en calquer formato, ou ser código sinxelo coma este).

\begin{tikzpicture}[overlay]

· · ·

\end{tikzpicture}

Nestes casos temos que localizar cal él o noso orixe de coordenadas e empregalo como referencia para situar axeitadamente as nosas notas. Eu debuxo un punto no (0,0) que logo eliminarei.

E debemos ter a precaución de deixar en branco os ocos que precisemos (ou ben forzar espacios), pois a nosa figura en TikZ superporase ao noso documento (non a unha parte del en particular, por máis que nós queiramos facer referencia só á táboa ou ao que sexa).

En calquer caso, ter en conta que se modificamos o noso código de fondo, é posible que necesitemos axustar as coordenadas dos nosas figuras pois en principio non están conectadas de ningún xeito.

Unha vez máis empregamos o paquete Tikz.

\usepackage{tikz}

Nesta ocasión inmos facer unha frecha, o cal é moi sinxelo pois basta con indicar que queremos que faga punta de frecha nun segmento.

\begin{tikzpicture}
\draw[->] (0,0) – (5,5);
\end{tikzpicture}

Ese código funciona correctamente, mais ás veces resulta estéticamente máis agradable facer a curva lixeiramente curvada, como a da imaxe seguinte:

O que faremos é empregar dous puntos intermedios, con un código como o seguinte:

\draw[->] (0,0) .. controls (1,1) and (2,7) .. (5,5);  

Os distintos puntos intermedios deben ir entre .. controls e .., e unidos pola conxunción and.
Como podes ver, fixo unha curva xeitosiña tendo en conta todos eses puntos.

Ademáis poderiamos empregar coordenadas relativas en lugar de absolutas, se polo xeito en que deseñamos o noso gráfico nos resulta interesante.
As coordenadas relativas indídicanse co símbolo ++.

É importante ter en conta que noutros entornos as coordenadas relativas refírense sempre ao punto anterior, mais no caso destas curvas atopei que o que realmente ocorre é que o primeiro punto de control é relativo ao punto inicial e o segundo punto de control é relativo ao punto final. 

Por ese motivo, o código anterior sería equivalente ao seguinte:

\draw[->] (0,0) .. controls ++(1,1) and ++(-3,2) .. (5,5);

 

En xeral, para empregar TikZ podemos referirnos directamente ás coordenadas que nos interesen e xa está.
Pero en ocasións resulta máis cómodo darlle un nome ás coordeadas e referirnos a elas polo seu nome.

Podería ser porque na mesma figura imos facer refererncia a ese mesmo punto varias veces.
Por exemplo un punto ao que chegan varios segmentos, e dese xeito non teño que escribir as coordenadas máis que unha vez.

Tamén podería ser unha figura que estou a pensar en modificar.
É moito máis sinxelo cambiar ese dato nun só lugar que facelo en varios.

Os dous motivos concorren por exemplo neste código de ortoedro:

\begin{tikzpicture}
\coordinate (A) at (0,5,0); % Diante Arriba Esquerda
\coordinate (B) at (4,5,0); % Diante Arriba Dereita
\coordinate (C) at (0,0,0); % Diante Abaixo Esquerda
\coordinate (D) at (4,0,0); % Diante Abaixo Dereita
\coordinate (E) at (0,5,-3); % Atrás Arriba Esquerda
\coordinate (F) at (4,5,-3); % Atrás Arriba Dereita
\coordinate (G) at (0,0,-3); % Atrás Abaixo Esquerda
\coordinate (H) at (4,0,-3); % Atrás Abaixo Dereita
\shadedraw[left color=pink,right color=white] (D) — (C) — (A) — (B) — cycle;
\shadedraw[right color=pink,left color=white] (D) — (H) — (F) — (B) — cycle;
\shadedraw[left color=pink,right color=white] (B) — (A) — (E) — (F) — cycle;
\draw[dashed,gray] (C) — (G) — (H);
\draw[dashed,gray] (G) — (E);
\end{tikzpicture}

Cando queira modificalo ou reutilizalo, modificarei as coordenadas dos seus oito vértices e terei un novo ortoedro nas novas dimensións sen necesidade de revisar código algún.

TikZ ten unha libraría 3D para realizar traballos con un acabado de nivel alto, mais para figuras sinxelas empregadas na didáctica de secundaria non merece a pena (creo eu) meterse en máis berenxenais pois o paquete TikZ básico nos permite debuxar figuras simples e moi claras, suficientes para plantexar un exercicio en clase.

Por cuestións de estética, dinlles un toquiño de cor. 
Non me molestei en procurarlles unha iluminación realista nin moito menos, pero creo que as diferencias en cores engaden unha lixeira noción de perspectiva e en xeral quedan máis vistosas.

Coma sempre, engadimos o paquete ao preámbulo do documento.

\usepackage{tikz}

E aquí o meu código para as cinco figuras, que como podes ver é moi sinxelo e pode modificarse ao gusto do consumidor simplemente tendo en conta as coordenadas da figura e, no caso das circulares, o radio das elipses que forman as bases.

\begin{tikzpicture} % ortoedro
\shadedraw[left color=pink,right color=white] (4,0,0) — (0,0,0) — (0,5,0) — (4,5,0) — cycle;
\shadedraw[right color=pink,left color=white] (4,0,0) — (4,0,-3) — (4,5,-3) — (4,5,0) — cycle; \shadedraw[left color=pink,right color=white] (4,5,0) — (0,5,0) — (0,5,-3) — (4,5,-3) — cycle;
\draw[dashed,gray] (4,0,-3) — (0,0,-3) — (0,5,-3);
\draw[dashed,gray] (0,0,0) — (0,0,-3);
\end{tikzpicture}

\begin{tikzpicture} % pirámide
\shadedraw[left color=pink,right color=white] (4,0,0) — (0,0,0) — (2,5,-2) — cycle;
\shadedraw[right color=pink,left color=white] (2,5,-2) — (4,0,0) — (4,0,-4) — cycle;
\draw[dashed,gray] (0,0,0) — (0,0,-4) — (4,0,-4);
\draw[dashed,gray] (0,0,-4) — (2,5,-2);
\end{tikzpicture}

\begin{tikzpicture} % cilindro
\shadedraw[left color=pink,right color=white] (2,0) — (2,5) arc (360:180:2cm and 0.5cm) — (-2,0) arc (180:360:2cm and 0.5cm);
\shadedraw[left color=pink,right color=white] (0,5) circle (2cm and 0.5cm);
\draw[dashed,gray] (-2,0) arc (180:0:2cm and 0.5cm);
\end{tikzpicture}

\begin{tikzpicture} % cono
\shadedraw[left color=pink,right color=white] (4,0,0) — (2,5,0) — (0,0,0) arc (180:360:2cm and 0.5cm);
\draw[dashed,gray] (0,0,0) arc (180:0:2cm and 0.5cm);
\end{tikzpicture}

\begin{tikzpicture} % esfera
\shadedraw[left color=pink,right color=white] (0,0) circle (2.5cm);
\draw[dashed,gray] (-2.5,0) arc (180:0:2.5 and 0.25);
\draw[dashed,gray] (-2.5,0) arc (180:0:2.5 and -0.25);
\end{tikzpicture}