Hem vist en articles anteriors que amb tikz es pot fer tot tipus de representació gràfica de dades o conceptes. Així hem vist com crear Mapes conceptuals amb tikz , Diagrames de flux amb tikz o Diagrames de Gantt o cronogrames. En aquest article veurem com —a partir de les dades numèriques— tikz ens construeix un diagrama de sectors circulars i li dóna el format que vulguem.
Abans de res, però, hem de descarregar de la web de l'autor el paquet amb la documentació i el fitxer d'estil. Ho trobarem a: https://code.google.com/p/pgf-pie/ El paquet es crida simplement amb un \usepackage{pgf-pie}.
Ara només cal introduir les dades al nostre fitxer tex dins d'un entorn tikzpicture amb el comandament \pie:
\begin{tikzpicture}
\pie{%
15/Menors de 20,%
32/De 21 a 30,%
30/De 31 a 40,%
18/De 41 a 50,%
5/Majors de 51}
\end{tikzpicture}
Observem que cada línia correspon a un sector i en ella diem el percentatge de casos (15% a la primera fila) i definim l'etiqueta (Menors de 20 anys a l'exemple).
Al processar obtenim aquesta gràfica:
Els diagrames són força configurables i es poden posar les etiquetes en diferents posicions així com afegir-hi una ombra.
També es poden dibuixar diferents tipus de diagrames, com ara el quadrat on cada sector queda representat per un rectangle proporcional a la dada corresponent. O bé en format polar, de manera que els angles dels sectors són tots igual però es diferencien per la longitud del radi, que és proporcional a les dades.
Podeu veure exemples dels diferents tipus de gràfics, així com del codi amb què s'obtenen en aquest document PDF. Per estudiar el codi tex o usar-lo de plantilla podeu descarregar el fitxer comprimit zip amb tots els documents font.
Es mostren els missatges amb l'etiqueta de comentaris gràfics. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris gràfics. Mostrar tots els missatges
dijous, 14 de maig del 2015
Gràfics de sectors circulars amb tikz
Etiquetes de comentaris:
gràfics,
pie,
sectors_circulars,
tikz
diumenge, 16 de novembre del 2014
Diagrames de flux amb tikz
Un diagrama de flux és una figura que il·lustra un procés, que pot ser informàtic (un algorisme) o de qualsevol altra mena. Són molt útils per visualitzar la seqüència de les accions i què passa quan cal prendre algun tipus de decisió.
Amb tikz es pot fer tot tipus de figures i gràfics i, no podia ser d'altra manera, es poden construir diagrames de flux clars, entenedors i atractius. En aquest article veurem com es crea una figura amb tikz i com, en acabat, es pot incrustar en qualsevol document LaTeX.
Un diagrama de flux consta d'unes "caixes" de text connectades per línies. Aquestes "caixes" tenen diferent forma -i color- segons el que representin: l'entrada del procés, una acció, una decisió o la sortida. A tikz aquestes caixes se'n diuen nodes i es poden construir fàcilment amb l'ajut de biblioteques específiques simplement donant el nom de la figura que cal dibuixar. Per exemple, per dibuixar un node d'entrada al procés amb forma rectangular només cal definir el node amb les ordres: rectangle i draw, és a dir "dibuixa un rectangle". Naturalment podem donar un format més acurat al node, cosa que es fa abans de començar a dibuixar els nodes sota el comandament de configuració \tikzset. Vegem un exemple de definició de l'estil d'un node de decisió:
decisio/.style = {diamond,% forma geomètrica de romb
draw,
top color= white,% color de la part superior del degradat
bottom color=red,% color de la part inferior del degradat
drop shadow,% ombra
text width=8em, % ampla del text
text badly centered, % centrat del text
node distance=3cm, %distància al centre dels altres nodes
inner sep=0pt},%separació del text a la figura que el conté
Dins d'aquest comandament de configuració també es pot definir el format de les línies que uniran els nodes, per exemple amb forma de fletxes:
linia/.style = {draw,
line width=1.5pt,%gruix de la línia
% per veure els estils de fletxa: http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction/42679
-triangle 45},% la fletxa és un triangle de 45º
Un cop definits els estils dels nodes i de les línies passem a dibuixar el diagrama (\tikzpicture) tot posant els nodes un a sota dels altres. Comencem pel primer, un node d'entrada:
\node [entrada] (inici) {Text del node\\segona línia de text};
Amb tikz es pot fer tot tipus de figures i gràfics i, no podia ser d'altra manera, es poden construir diagrames de flux clars, entenedors i atractius. En aquest article veurem com es crea una figura amb tikz i com, en acabat, es pot incrustar en qualsevol document LaTeX.
Un diagrama de flux consta d'unes "caixes" de text connectades per línies. Aquestes "caixes" tenen diferent forma -i color- segons el que representin: l'entrada del procés, una acció, una decisió o la sortida. A tikz aquestes caixes se'n diuen nodes i es poden construir fàcilment amb l'ajut de biblioteques específiques simplement donant el nom de la figura que cal dibuixar. Per exemple, per dibuixar un node d'entrada al procés amb forma rectangular només cal definir el node amb les ordres: rectangle i draw, és a dir "dibuixa un rectangle". Naturalment podem donar un format més acurat al node, cosa que es fa abans de començar a dibuixar els nodes sota el comandament de configuració \tikzset. Vegem un exemple de definició de l'estil d'un node de decisió:
decisio/.style = {diamond,% forma geomètrica de romb
draw,
top color= white,% color de la part superior del degradat
bottom color=red,% color de la part inferior del degradat
drop shadow,% ombra
text width=8em, % ampla del text
text badly centered, % centrat del text
node distance=3cm, %distància al centre dels altres nodes
inner sep=0pt},%separació del text a la figura que el conté
Dins d'aquest comandament de configuració també es pot definir el format de les línies que uniran els nodes, per exemple amb forma de fletxes:
linia/.style = {draw,
line width=1.5pt,%gruix de la línia
% per veure els estils de fletxa: http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction/42679
-triangle 45},% la fletxa és un triangle de 45º
Un cop definits els estils dels nodes i de les línies passem a dibuixar el diagrama (\tikzpicture) tot posant els nodes un a sota dels altres. Comencem pel primer, un node d'entrada:
\node [entrada] (inici) {Text del node\\segona línia de text};
- \node és el comandament que dibuixarà el node
- [entrada] és el format del node que hem definit prèviament
- (inici) és el nom que li donem al node i que l'identificarà dins la figura
- {Text} és el text que apareix dins del node, dins del rectangle en aquest cas.
El segon bloc el volem situat sota el node inici, per això escrivim:
\node [bloc, below=of inici] (divesquerra) {Text...};
- la diferència respecte al primer node és a [bloc, below=of inici], on bloc és l'estil de node i below=of inici diu on s'ha de situar el bloc (sota d'inici). Amb above=of, right=of i left=of el posaríem a sobre, a la dreta o a l'esquerra respectivament.
D'aquesta manera anem situant els diferents tipus de bloc. Quan ja estan tots dibuixem les línies amb punta de fletxa que els uneixen:
\draw [linia] (inici) -- (divesquerra);
Podem dibuixar línies acodades amb |- ó amb -|:
\draw [linia] (a1) |- (divesquerra);
Finalment, podem dibuixar un doble colze si marquem un punt del diagrama, una coordenada, i hi fem arribar una línia sense punta i que en surti una altra amb punta:
\coordinate[right=5cm of donau] (a1);
- Aquest punt de coordenades és 5cm a la dreta del node donau i l'anomenem a1.
Al fitxer tex diagramadeflux.tex podeu veure el codi comentat del diagrama complet. I al fitxer diagramadeflux.pdf podeu veure'n el resultat. S'hi representa l'algorisme de la multiplicació russa, una manera molt interessant de fer multiplicacions.
dimarts, 6 d’agost del 2013
Diagrames de Gantt o cronogrames
Abstract (en): A Gantt chart is a type of bar chart, developed by Henry Gantt, that illustrates a project schedule. Gantt charts illustrate the start and finish dates of the terminal elements and summary elements of a project. We can buid Gantt charts in LaTeX with pgfgantt package.
Els diagrames de Gantt o cronogrames són representacions gràfiques que permeten visualitzar les fites i dates dels projectes. Això permet que fer el seguiment dels projectes i la seva avaluació sigui molt més senzill. Amb pgfgantt podem crear-los en els documents LaTeX.
El paquet pgfgantt proporciona l’entorn ganttchart que dibuixa un diagrama de Gantt en una imatge TikZ.
L’usuari, per personalitzar el diagrama, pot afegir diversos elements al gràfic, com ara:
Per crear una línia nova només cal escriure dues contrabarres \\ al final de l’element. Si no les posem els elements se situen en la mateixa línia.
Al document tex adjunt podeu trobar alguns exemples de cronogrames i estudiar-ne el codi. Al PDF adjunt en podeu veure el resultat.
A https://github.com/jqueralt/gantt trobareu les darreres versions dels fitxers.
Publicat per primera vegada el dissabte 8 de desembre de 2012.
Els diagrames de Gantt o cronogrames són representacions gràfiques que permeten visualitzar les fites i dates dels projectes. Això permet que fer el seguiment dels projectes i la seva avaluació sigui molt més senzill. Amb pgfgantt podem crear-los en els documents LaTeX.
El paquet pgfgantt proporciona l’entorn ganttchart que dibuixa un diagrama de Gantt en una imatge TikZ.
L’usuari, per personalitzar el diagrama, pot afegir diversos elements al gràfic, com ara:
- títols amb el comandament \gantttitle
- barres amb \ganttbar
- fites amb \ganttmilestone
- grups amb \ganttgroup
- enllaços entre aquests elements amb el comandament \ganttlink
Per crear una línia nova només cal escriure dues contrabarres \\ al final de l’element. Si no les posem els elements se situen en la mateixa línia.
Al document tex adjunt podeu trobar alguns exemples de cronogrames i estudiar-ne el codi. Al PDF adjunt en podeu veure el resultat.
A https://github.com/jqueralt/gantt trobareu les darreres versions dels fitxers.
Publicat per primera vegada el dissabte 8 de desembre de 2012.
dilluns, 5 d’agost del 2013
Gràfics de barres amb datatool
datatool és un paquet que permet visualitzar dades a més de gestionar-les (2)
A l’article Gràfics de sectors circulars amb datatool vam veure com representar dades en gràfics de sectors. En el present article veurem com fer-ho en gràfics de barres.El paquet databar del conjunt datatool permet generar gràfics de barres verticals o horitzontals a partir de les dades d’un fitxer extern en format CSV. Es tracta d’un paquet amb força opcions i comandaments que permeten personalitzar els gràfics obtinguts de manera que representin perfectament les nostres dades.
El paquet es crida al preàmbul del document:
\usepackage[%gray, % no posa colorsCom que es tracta de gestionar i representar les dades d’un fitxer extern (poblacio.csv en el nostre exemple) abans de res hem de crear una base de dades que també hem anomenant poblacio:
%horizontal % Crea gràfics horitzontals
]{databar}
%crea la base de dades 'poblacio' a partir del fitxer extern CSV:Ara ja podem generar el gràfic amb el comandament \DTLbarchart amb les opcions desitjades:
\DTLloaddb{poblacio}{poblacio.csv}
\DTLbarchart{variable=\poblacio,% % defineix la variable sobre la que crea el gràficEl paquet, però, permet representar no una sola variable sinó més d’una emprant aleshores el comandament \DTLmultibarchart i definint les variables que volem representar:
axes=both,% % mostra els 2 eixos (pot ser també none, x o y
ylabel={Població en milions de persones},% % etiqueta dels valors de l'eix Y
upperbarlabel={\poblacio},% % etiqueta amb el valor sobre la barra
verticalbars=true,% % barres verticals
barlabel=\continent,% % etiquetes de les barres
}
{poblacio}{\poblacio=Poblacio,\continent=Continent}
\DTLmultibarchart{variables={\poblacio,\esperanca},% representarem 2 variablesPodeu veure el resultat al fitxer PDF adjunt així com estudiar les dades en el document poblacio.csv i el codi al document tex font.
axes=both,% % mostra els 2 eixos (pot ser també none, x o y
ylabel={Població en milions de persones i esperança de vida en anys},% % etiqueta eix Y
verticalbars=true,% % barres verticals
barwidth=15pt,% % amplada de les barres en punts
uppermultibarlabels={\poblacio,\esperanca},% posa el valor al capdamunt de la barra
barlabel={\continent}% % etiqueta eix X
}%
{poblacio}{\poblacio=Poblacio,\continent=Continent,\esperanca=Esperanca}
Publicat per primera vegada el dimarts 17 de juliol de 2012.
Gràfics de sectors circulars amb datatool
datatool és un paquet que permet visualitzar dades a més de gestionar-les
A l’article Personalitzar documents amb datatool vam veure com podíem utilitzar el paquet datatool per gestionar dades carregades des d’un fitxer CSV extern a LaTeX. En aquest ocasió veurem com amb el paquet datapie de la suite datatool podem representar aquestes dades en forma de gràfic de sectors circulars.Com en altres casos necessitem un fitxer extern amb dades i en format CSV (valors separats per comes) que utilitzarà datapie per representar-les. La primera fila correspon a la definició de les columnes i ens servirà per identificar cada camp.
Al preàmbul cridem el paquet datapie amb les possibles opcions:
\usepackage[%gray, %no posa colorsAl cos del document carreguem el fitxer de dades i en fem una base de dades. En aquest exemple, com que volem representar la població humana que viu a cada continent, tenim:
%rotateinner, %rota etiquetes internes segons el radi.
%rotateouter, %rota etiquetes externes segons el radi.
]{datapie}
\DTLloaddb{poblacio}{poblacio.csv}on poblacio.csv és el fitxer extern amb les dades i poblacio la BD que es crearà.
Per crear el gràfic s’utilitza el comandament
\DTLpiechart{variable,opcions}{BD}{macros}propi de paquet datapie. Aquest comandament admet diferents opcions, per exemple:
\DTLpiechart{variable=\poblacio,% variable sobre la que es crea el gràficEl paquet admet força possibilitats de formatació del gràfic, com ara la possibilitat de separar-ne algun sector (com a l’exemple amb l’opció cutaway={1}), formatar el tipus de lletra de les etiquetes:
radius=3.5cm, % radi del gràfic
cutaway={1}, % per separar el sector 1 de la resta
%cutaway={1,2,3}, % per separar els sectors 1, 2 i 3
innerlabel={\DTLpiepercent\%}, % etiqueta interna en percentatge
outerlabel={\continent\ (\DTLpievariable)}, % etiqueta externa amb el valor de "nom"
%rotateinner, % gira els valors interiors
%rotateouter, % gira els valors exteriors
}{poblacio}{\continent=Continent,\poblacio=Poblacio}
%canvia la família del tipus de lletra de les etiquetesresseguir els sectors amb una línia de color:
\renewcommand*{\DTLdisplayinnerlabel}[1]{\textsf{#1}} %internes
\renewcommand*{\DTLdisplayouterlabel}[1]{\textsf{#1}} %externes
%dibuixa una línia al voltant dels segmentso determinar els colors de cada sector manualment:
\renewcommand{\DTLpieoutlinecolor}{black!20} %color de la línia (per defecte negre)
\setlength{\DTLpieoutlinewidth}{.5pt} %gruix de la línia: 0.5pt
% canvia l'ordre dels colors dels segmentsAl document tex adjunt es pot estudiar el codi al fitxer tex font que s'ha emprat per representar les dades del fitxer poblacio.csv i es pot veure el resultat al fitxer PDF.
\DTLsetpiesegmentcolor{1}{yellow!20}
\DTLsetpiesegmentcolor{2}{OliveGreen!20}
Publicat per per primer cop el dissabte 14 de juliol de 2012.
diumenge, 28 de juliol del 2013
Imatges com a fons de pàgina
Moltes vegades ens interessa tenir una imatge com a fons de pàgina bé per millorar la presentació d’un document, bé per marcar alguna característica d’aquella pàgina.
El paquet eso-pic facilita enormement la gestió d’imatges a les pàgines gràcies al parell de comandaments que ens ofereix:
Així dons el comandament complet per inserir la imatge fons.jpg com a fons de pàgina és:
+info: documentació del paquet eso-pic
Publicat per primer cop el diumenge 2 de desembre de 2007.
El paquet eso-pic facilita enormement la gestió d’imatges a les pàgines gràcies al parell de comandaments que ens ofereix:
- \AddToShipoutPicture fa que una determinada imatge (que es crida amb la clàssica ordre \includegraphics) aparegui a totes les pàgines d’un document.
- \AddToShipoutPicture* la versió amb asterisc del comandament fa que només aparegui la imatge en la pàgina on es trobi l’ordre.
- \ClearShipoutPicture permet esborrar la imatge que fins aquell moment s’estava inserint deixant així pas a una nova imatge.
Així dons el comandament complet per inserir la imatge fons.jpg com a fons de pàgina és:
\AddToShipoutPicture{ \includegraphics[height=\paperheight]{fons.jpg} }En el fitxer tex adjunt podeu veure com i on s’utilitza el comandament, mentre que al PDF en podeu veure el resultat.
+info: documentació del paquet eso-pic
Publicat per primer cop el diumenge 2 de desembre de 2007.
dimarts, 23 de juliol del 2013
Text envoltant una imatge
wrapfig és un paquet que permet crear impressionants textos periodístics
wrapfig és un paquet amb poca documentació perquè pràcticament només fa una cosa: envoltar una imatge o una taula —una figura, vaja— amb text.Però ho fa bé, fins i tot quan el text és en dues o tres columnes. Només demana una mica de paciència i un parell de provatures abans de deixar-ho enllestit. La sintaxi és clara: al preàmbul cridem al paquet amb \usepackage{wrapfig} i en acabat, al lloc del text on volem que aparegui la figura envoltada, escrivim l’entorn wrapfig d’aquesta manera:
\begin{wrapfigure}[nombrelínies]{situació}[separació]{ampladacm}Les opcions són:
figura
\caption{text}
\end{wrapfigure}
- nombre de línies de text que han d’envoltar la figura. Primer es pot fer una estimació i a la vista del resultats es pot augmentar o disminuir
- situació de la figura: l a l’esquerra o r a la dreta de la pàgina.
- separació en punt des del text fins la figura
- amplada de la figura en cm
\begin{wrapfigure}[14]{R}[4pt]{6cm}la figura en aquest cas és un fitxer jpg o imatge escalada al 50% que ocupa 14 línies, és a la dreta de la pàgina (per tant el text l’envolta per l’esquerra), es troba separada 4 punts del text i ocupa una amplada de 6 cm.
\includegraphics[scale=0.5]{imatge.jpg}
\caption{Alineació dreta}
\end{wrapfigure}
El paquet wrapfig també permet tractar una taula com si fos una figura i envoltar-la de text. Vegeu al fitxer PDF adjunt un exemple d’imatge a la dreta, d’una taula a l’esquerra i d’una imatge al mig de dues columnes amb el codi corresponent per aconseguir-ho. Trobareu clarament indicat el codi en el fitxer font tex adjunt que us permetrà estudiar-lo i/o usar-lo com a plantilla.
Publicat per primera vegada el diumenge 7 de maig de 2006
dimecres, 17 de juliol del 2013
Imatges a la capçalera/peu
Imprescindibles: els paquets fancyhdr i graphics
Amb alguns editors de textos és relativament senzill posar una imatge o logotip a la capçalera o peu d’un document. Amb LaTeX també.Per aconseguir-ho només cal tenir present aquests requisits: cridar els paquets fancyhdr i el graphics al preàmbul del document tenir la imatge que volem posar al mateix directori on és el fitxer tex que el fitxer de la imatge sigui .png, .jpg ó .ps
Per tenir la imatge (tux.jpg per exemple) a la part dreta de la capçalera, posem per cas, cal escriure al preàmbul del document:
\usepackage{graphics}
\usepackage{fancyhdr}
\pagestyle{fancy}
\rhead{\includegraphics{tux.jpg}}
Obtindreu una cosa així:
Article publicat per primera vegada el 2/2/2005
Etiquetes de comentaris:
capçaleres i peus,
fancyhdr,
gràfics,
paquets
Subscriure's a:
Missatges (Atom)

