pgfplots – plotting in latexpgfplots.sourceforge.net/pgfplots_talk_ftug_2012_final.pdf ·...

72
Introduction Overview over PGFPlots Summary and Outlook PGFPlots – Plotting in L A T E X Consistent and high-quality plotting combined with L A T E X Christian Feuersänger Journée GUTenberg 2012, April 14 2012 Christian Feuersänger Pgfplots

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

PGFPlots – Plotting in LATEXConsistent and high-quality plotting combined with LATEX

Christian Feuersänger

Journée GUTenberg 2012, April 14 2012

Christian Feuersänger Pgfplots

Page 2: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Outline

1 Introduction

2 Overview over PGFPlotsUse–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

3 Summary and Outlook

Christian Feuersänger Pgfplots

Page 3: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

What is PGFPlots?

Visualization tool.motivation: user provides data + labels, pgfplots does therestfont consistencyLATEX axis descriptionsdocument–wide line–styles, color schemes, markers, . . .high-qualityembedded solution (no 3rd party tools)

Christian Feuersänger Pgfplots

Page 4: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Outline

1 Introduction

2 Overview over PGFPlotsUse–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

3 Summary and Outlook

Christian Feuersänger Pgfplots

Page 5: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

input: three data tables “results of scientific experiment”dof l2_err level5 8.312e-02 217 2.547e-02 349 7.407e-03 4129 2.102e-03 5321 5.874e-04 6769 1.623e-04 71793 4.442e-05 84097 1.207e-05 99217 3.261e-06 10

one table per parameter d = 2, d = 3, d = 4aim: degrees of freedom “dof” versus L2 error “l2_err”target quantity: show slope of a line in loglog plotlog e(N) = −α log N

Christian Feuersänger Pgfplots

Page 6: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 1: getting the data into TeX

\usepackage{pgfplots}\pgfplotsset{compat=1.5}

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},

]\addplot table {data_d2.dat};\end{loglogaxis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 7: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 1: getting the data into TeX

\usepackage{pgfplots}\pgfplotsset{compat=1.5}

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},

]\addplot table {data_d2.dat};\end{loglogaxis}\end{tikzpicture}

101 102 103 104

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

Christian Feuersänger Pgfplots

Page 8: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 1: getting the data into TeX

\usepackage{pgfplots}\pgfplotsset{compat=1.5}

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},

]\addplot table {data_d2.dat};\end{loglogaxis}\end{tikzpicture}

101 102 103 104

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

PGFPlots:1 \usepackage{pgfplots}2 compat=1.53 \begin{tikzpicture}

... \end{tikzpicture}4 \begin{loglogaxis}

... \end{loglogaxis}5 \addplot... ;6 \addplot table: load

table, plot first 2 cols

descriptions with title,xlabel, ylabelscaling / limits doneautomaticallyAdvice: trailing commashelp won’t forget it fornext option

Christian Feuersänger Pgfplots

Page 9: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 2: add remaining data files

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 10: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 2: add remaining data files

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture}

101 102 103 104 105

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

Christian Feuersänger Pgfplots

Page 11: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 2: add remaining data files

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture}

101 102 103 104 105

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

multiple \addplot

commandsno user options automatically chosen stylesfor each plot customizable“cycle list”can be overruled easily:

1 \addplot[ red] ignore cycle list

2 \addplot+[red] append to cycle list

Christian Feuersänger Pgfplots

Page 12: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 3: add a legend + grid

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 13: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 3: add a legend + grid

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture}

101 102 103 104 105

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

Christian Feuersänger Pgfplots

Page 14: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 3: add a legend + grid

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture}

101 102 103 104 105

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

legend entries simplestway of getting a legendgrid=major|minor|both|

none (per axis: otheroptions)\addplot+[forget plot]:do not count plot forlegends

Christian Feuersänger Pgfplots

Page 15: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 4: add a selected fit-line

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\addplot table[

x=dof,y={create col/linear regression={y=l2_err,

variance list={1000,800,600,500,400,200,100}}]{data_d4.dat};

\end{loglogaxis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 16: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 4: add a selected fit-line

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\addplot table[

x=dof,y={create col/linear regression={y=l2_err,

variance list={1000,800,600,500,400,200,100}}]{data_d4.dat};

\end{loglogaxis}\end{tikzpicture} 101 102 103 104 105

10−6

10−4

10−2

100

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

Christian Feuersänger Pgfplots

Page 17: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 4: add a selected fit-line

\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\addplot table[

x=dof,y={create col/linear regression={y=l2_err,

variance list={1000,800,600,500,400,200,100}}]{data_d4.dat};

\end{loglogaxis}\end{tikzpicture} 101 102 103 104 105

10−6

10−4

10−2

100

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

\addplot table cancompute new columnsbased on input tablehere:

1 loads data_d4.dat2 creates new column3 plots x=dof versus y=

new column

Christian Feuersänger Pgfplots

Page 18: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 5: add an annotation using TikZ: a slope triangle\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\addplot table[

x=dof,y={create col/linear regression={y=l2_err,

variance list={1000,800,600,500,400,200,100}}}]{data_d4.dat}% save two points on the regression line for drawing the slope trianglecoordinate [pos=0.25] (A)coordinate [pos=0.4] (B);

\xdef\slope{\pgfplotstableregressiona} % save the slope parameter\draw (A) -| (B) % draw the opposite and adjacent sides of the triangle

node [pos=0.75,anchor=west] {\pgfmathprintnumber{\slope}};\end{loglogaxis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 19: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 5: add an annotation using TikZ: a slope triangle\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\addplot table[

x=dof,y={create col/linear regression={y=l2_err,

variance list={1000,800,600,500,400,200,100}}}]{data_d4.dat}% save two points on the regression line for drawing the slope trianglecoordinate [pos=0.25] (A)coordinate [pos=0.4] (B);

\xdef\slope{\pgfplotstableregressiona} % save the slope parameter\draw (A) -| (B) % draw the opposite and adjacent sides of the triangle

node [pos=0.75,anchor=west] {\pgfmathprintnumber{\slope}};\end{loglogaxis}\end{tikzpicture}

101 102 103 104 10510−6

10−4

10−2

100

−1.15

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

Christian Feuersänger Pgfplots

Page 20: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 5: add an annotation using TikZ: a slope triangle\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\addplot table[

x=dof,y={create col/linear regression={y=l2_err,

variance list={1000,800,600,500,400,200,100}}}]{data_d4.dat}% save two points on the regression line for drawing the slope trianglecoordinate [pos=0.25] (A)coordinate [pos=0.4] (B);

\xdef\slope{\pgfplotstableregressiona} % save the slope parameter\draw (A) -| (B) % draw the opposite and adjacent sides of the triangle

node [pos=0.75,anchor=west] {\pgfmathprintnumber{\slope}};\end{loglogaxis}\end{tikzpicture}

101 102 103 104 10510−6

10−4

10−2

100

−1.15

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

Simple integration of TikZdrawing instructionsTikZ is beyond scope ofthis talk

Christian Feuersänger Pgfplots

Page 21: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 6: E-docs: enrich with optional information

\usepackage{pgfplots}\pgfplotsset{compat=1.5}\usepgfplotslibrary{clickable}...\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},clickable coords={level \thisrow{level}},clickable coords size=5,

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 22: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 6: E-docs: enrich with optional information

\usepackage{pgfplots}\pgfplotsset{compat=1.5}\usepgfplotslibrary{clickable}...\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},clickable coords={level \thisrow{level}},clickable coords size=5,

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture} 101 102 103 104 105

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

Christian Feuersänger Pgfplots

Page 23: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Scientific data analysis

Step 6: E-docs: enrich with optional information

\usepackage{pgfplots}\pgfplotsset{compat=1.5}\usepgfplotslibrary{clickable}...\begin{tikzpicture}\begin{loglogaxis}[

title=Convergence Plot,xlabel={Degrees of freedom},ylabel={$L_2$ Error},grid=major,legend entries={$d=2$,$d=3$,$d=4$},clickable coords={level \thisrow{level}},clickable coords size=5,

]\addplot table {data_d2.dat};\addplot table {data_d3.dat};\addplot table {data_d4.dat};\end{loglogaxis}\end{tikzpicture} 101 102 103 104 105

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L 2E

rror

Convergence Plot

d = 2d = 3d = 4

\usepgfplotslibrary{

clickable}

Acrobat Reader +JavascriptClick shows coordinateDrag’n’drop shows slopeclickable coords Click onmarker meta data frominput tables

Christian Feuersänger Pgfplots

Page 24: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Outline

1 Introduction

2 Overview over PGFPlotsUse–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

3 Summary and Outlook

Christian Feuersänger Pgfplots

Page 25: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Task: side-by-side visualization of1 function from data file2 related function by expression

Christian Feuersänger Pgfplots

Page 26: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 1: function from data file

\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 27: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 1: function from data file

\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−4

−2

0

2

4

x

y

Inv. cum. normal

Christian Feuersänger Pgfplots

Page 28: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 1: function from data file

\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−4

−2

0

2

4

x

y

Inv. cum. normal

\begin{axis}..\end{axis}

linear scalepredefined style tiny

standard TEX fonts, notext scalingignore cycle list; use[blue]

Christian Feuersänger Pgfplots

Page 29: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 1: function from data file. Fine tuning

\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 30: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 1: function from data file. Fine tuning

\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−2

0

2

x

y

Inv. cum. normal

Christian Feuersänger Pgfplots

Page 31: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 1: function from data file. Fine tuning

\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−2

0

2

x

y

Inv. cum. normal

adjust displayed limitsadjust minor tick count

Christian Feuersänger Pgfplots

Page 32: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 2: add 2nd plot: function from expression\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}%<- avoid white space%\begin{tikzpicture}\begin{axis}[

tiny,]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 33: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 2: add 2nd plot: function from expression\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}%<- avoid white space%\begin{tikzpicture}\begin{axis}[

tiny,]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−2

0

2

x

y

Inv. cum. normal

−3−2−1 0 1 2 3

·10−3

0

100

200

300

400

Christian Feuersänger Pgfplots

Page 34: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 2: add 2nd plot: function from expression\begin{tikzpicture}\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}%<- avoid white space%\begin{tikzpicture}\begin{axis}[

tiny,]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−2

0

2

x

y

Inv. cum. normal

−3−2−1 0 1 2 3

·10−3

0

100

200

300

400

uses PGF math parser +floating point unit\newcommand “constants”domain=<a>:<b>,samples=<N>

different bounding boxes!Christian Feuersänger Pgfplots

Page 35: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 3: fix up vertical alignment + tick label positions\begin{tikzpicture}[baseline]\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}%%\begin{tikzpicture}[baseline]\begin{axis}[

tiny,yticklabel pos=right,

]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 36: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 3: fix up vertical alignment + tick label positions\begin{tikzpicture}[baseline]\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}%%\begin{tikzpicture}[baseline]\begin{axis}[

tiny,yticklabel pos=right,

]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−2

0

2

x

y

Inv. cum. normal

−3−2−1 0 1 2 3

·10−3

0

100

200

300

400

Christian Feuersänger Pgfplots

Page 37: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

Step 3: fix up vertical alignment + tick label positions\begin{tikzpicture}[baseline]\begin{axis}[

title=Inv. cum. normal,xlabel={$x$},ylabel={$y$},tiny,ymin=-3, ymax=3,minor y tick num=1,

]\addplot[blue] table {invcum.dat};\end{axis}\end{tikzpicture}%%\begin{tikzpicture}[baseline]\begin{axis}[

tiny,yticklabel pos=right,

]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

−2

0

2

x

y

Inv. cum. normal

−3−2−1 0 1 2 3

·10−3

0

100

200

300

400\begin{tikzpicture}[

baseline] samebaseline (lower edge)similarly:

1 \begin{tikzpicture}[trim axis left]

2 \begin{tikzpicture}[trim axis right]

yticklabel pos=right

switches sides

Christian Feuersänger Pgfplots

Page 38: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

On commonly asked questions... style adjustments.

\begin{tikzpicture}\begin{axis}[

tiny,axis lines=left,scaled ticks=false,xticklabel style={

rotate=90,anchor=east,/pgf/number format/precision=3,/pgf/number format/fixed,/pgf/number format/fixed zerofill},

]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 39: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

On commonly asked questions... style adjustments.

\begin{tikzpicture}\begin{axis}[

tiny,axis lines=left,scaled ticks=false,xticklabel style={

rotate=90,anchor=east,/pgf/number format/precision=3,/pgf/number format/fixed,/pgf/number format/fixed zerofill},

]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

−0.

003

−0.

002

−0.

001

0.00

0

0.00

1

0.00

2

0.00

3

100

200

300

Christian Feuersänger Pgfplots

Page 40: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Function visualization

On commonly asked questions... style adjustments.

\begin{tikzpicture}\begin{axis}[

tiny,axis lines=left,scaled ticks=false,xticklabel style={

rotate=90,anchor=east,/pgf/number format/precision=3,/pgf/number format/fixed,/pgf/number format/fixed zerofill},

]% density of Normal distribution:\newcommand\MU{0}\newcommand\SIGMA{1e-3}\addplot[red,domain=-3*\SIGMA:3*\SIGMA,samples=201]

{exp(-(x-\MU)^2 / 2 / \SIGMA^2) / (\SIGMA * sqrt(2*pi))};\end{axis}\end{tikzpicture}

−0.

003

−0.

002

−0.

001

0.00

0

0.00

1

0.00

2

0.00

3

100

200

300

scaled ticks factor outcommon tick factors/pgf/number format/... number printingaxis lines=... non-boxed axes

Christian Feuersänger Pgfplots

Page 41: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Outline

1 Introduction

2 Overview over PGFPlotsUse–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

3 Summary and Outlook

Christian Feuersänger Pgfplots

Page 42: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 1: simple scatter plotInput: data file with coords + meta data (table format)# ordering=colwise, basis=BASIS_HAT_HIER, number points=1657, (max)level(s): (7,8), domain=[0,1] x [0,6.2831853]# x_i : coordinates; (l_i,i_i): multiindex coords; scalaridx_i: linearized multiindex coordsx_0 x_1 f(x) l_0 i_0 scalaridx_0 l_1 i_1 scalaridx_10 0 0 0 0 0 0 0 00 0.024543693 -0.00054758064 0 0 0 8 1 1290 0.049087385 -0.0021903226 0 0 0 7 1 65...

\begin{tikzpicture}\begin{axis}\addplot+[only marks] table

{concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 43: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 1: simple scatter plotInput: data file with coords + meta data (table format)# ordering=colwise, basis=BASIS_HAT_HIER, number points=1657, (max)level(s): (7,8), domain=[0,1] x [0,6.2831853]# x_i : coordinates; (l_i,i_i): multiindex coords; scalaridx_i: linearized multiindex coordsx_0 x_1 f(x) l_0 i_0 scalaridx_0 l_1 i_1 scalaridx_10 0 0 0 0 0 0 0 00 0.024543693 -0.00054758064 0 0 0 8 1 1290 0.049087385 -0.0021903226 0 0 0 7 1 65...

\begin{tikzpicture}\begin{axis}\addplot+[only marks] table

{concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

0

2

4

6

Christian Feuersänger Pgfplots

Page 44: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 1: simple scatter plotInput: data file with coords + meta data (table format)# ordering=colwise, basis=BASIS_HAT_HIER, number points=1657, (max)level(s): (7,8), domain=[0,1] x [0,6.2831853]# x_i : coordinates; (l_i,i_i): multiindex coords; scalaridx_i: linearized multiindex coordsx_0 x_1 f(x) l_0 i_0 scalaridx_0 l_1 i_1 scalaridx_10 0 0 0 0 0 0 0 00 0.024543693 -0.00054758064 0 0 0 8 1 1290 0.049087385 -0.0021903226 0 0 0 7 1 65...

\begin{tikzpicture}\begin{axis}\addplot+[only marks] table

{concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 1

0

2

4

6

\addplot+ options ofcycle list + only marks

table plot first two cols

Christian Feuersänger Pgfplots

Page 45: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 2: fine tuning

\begin{tikzpicture}\begin{axis}[

enlargelimits=false,]\addplot+[only marks,mark size=0.6pt]

table {concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 46: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 2: fine tuning

\begin{tikzpicture}\begin{axis}[

enlargelimits=false,]\addplot+[only marks,mark size=0.6pt]

table {concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 10

2

4

6

Christian Feuersänger Pgfplots

Page 47: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 2: fine tuning

\begin{tikzpicture}\begin{axis}[

enlargelimits=false,]\addplot+[only marks,mark size=0.6pt]

table {concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 10

2

4

6

modify marker sizesmall limits

Christian Feuersänger Pgfplots

Page 48: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 3: color coding according to meta data

\begin{tikzpicture}\begin{axis}[

enlargelimits=false,]\addplot+[only marks,scatter,

mark size=0.6pt]table[meta=f(x)]

{concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 49: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 3: color coding according to meta data

\begin{tikzpicture}\begin{axis}[

enlargelimits=false,]\addplot+[only marks,scatter,

mark size=0.6pt]table[meta=f(x)]

{concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 10

2

4

6

Christian Feuersänger Pgfplots

Page 50: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case A

Step 3: color coding according to meta data

\begin{tikzpicture}\begin{axis}[

enlargelimits=false,]\addplot+[only marks,scatter,

mark size=0.6pt]table[meta=f(x)]

{concat_VV_together_grid.dat};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8 10

2

4

6

scatter expects “pointmeta data”here: “meta data” = “colordata”\addplot table: readcdata from tablehere: cdata from col f(x)cdata is mapped linearlyinto a colormap

Christian Feuersänger Pgfplots

Page 51: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case B

scatter plot with class labels per point\begin{tikzpicture}\begin{axis}[

scatter/classes={a={mark=square*,blue},%b={mark=triangle*,red},%c={mark=o,draw=black}}]

\addplot[scatter,only marks,scatter src=explicit symbolic]

table {x y label0.1 0.15 a0.45 0.27 c0.02 0.17 a0.06 0.1 a0.9 0.5 b0.5 0.3 c0.85 0.52 b0.12 0.05 a0.73 0.45 b0.53 0.25 c0.76 0.5 b0.55 0.32 c

};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 52: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case B

scatter plot with class labels per point\begin{tikzpicture}\begin{axis}[

scatter/classes={a={mark=square*,blue},%b={mark=triangle*,red},%c={mark=o,draw=black}}]

\addplot[scatter,only marks,scatter src=explicit symbolic]

table {x y label0.1 0.15 a0.45 0.27 c0.02 0.17 a0.06 0.1 a0.9 0.5 b0.5 0.3 c0.85 0.52 b0.12 0.05 a0.73 0.45 b0.53 0.25 c0.76 0.5 b0.55 0.32 c

};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8

0.2

0.4

Christian Feuersänger Pgfplots

Page 53: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case B

scatter plot with class labels per point\begin{tikzpicture}\begin{axis}[

scatter/classes={a={mark=square*,blue},%b={mark=triangle*,red},%c={mark=o,draw=black}}]

\addplot[scatter,only marks,scatter src=explicit symbolic]

table {x y label0.1 0.15 a0.45 0.27 c0.02 0.17 a0.06 0.1 a0.9 0.5 b0.5 0.3 c0.85 0.52 b0.12 0.05 a0.73 0.45 b0.53 0.25 c0.76 0.5 b0.55 0.32 c

};\end{axis}\end{tikzpicture}

0 0.2 0.4 0.6 0.8

0.2

0.4

“point meta” can besymbolichere: meta data = classlabels class labels directly indata file

Christian Feuersänger Pgfplots

Page 54: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case C

scattered data + text labels per point

\begin{tikzpicture}\begin{axis}[

enlargelimits=0.2,]\addplot+[nodes near coords,only marks,

point meta=explicit symbolic]table[meta=label] {

x y label0.5 0.2 10.2 0.1 t20.7 0.6 30.35 0.4 Y40.65 0.1 5

};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 55: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case C

scattered data + text labels per point

\begin{tikzpicture}\begin{axis}[

enlargelimits=0.2,]\addplot+[nodes near coords,only marks,

point meta=explicit symbolic]table[meta=label] {

x y label0.5 0.2 10.2 0.1 t20.7 0.6 30.35 0.4 Y40.65 0.1 5

};\end{axis}\end{tikzpicture}

0.2 0.4 0.6 0.80

0.2

0.4

0.6

1

t2

3

Y4

5

Christian Feuersänger Pgfplots

Page 56: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Scatter plot Use–case C

scattered data + text labels per point

\begin{tikzpicture}\begin{axis}[

enlargelimits=0.2,]\addplot+[nodes near coords,only marks,

point meta=explicit symbolic]table[meta=label] {

x y label0.5 0.2 10.2 0.1 t20.7 0.6 30.35 0.4 Y40.65 0.1 5

};\end{axis}\end{tikzpicture}

0.2 0.4 0.6 0.80

0.2

0.4

0.6

1

t2

3

Y4

5

here: text meta datapoint meta=explicit

symbolic interpreted astextalso supported: formattedas number

Christian Feuersänger Pgfplots

Page 57: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Outline

1 Introduction

2 Overview over PGFPlotsUse–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

3 Summary and Outlook

Christian Feuersänger Pgfplots

Page 58: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Requirement: surface plot from data matrix + contour plotfrom expressionHere: data file uses “scanlines”: empty lines indicateend-of-scanlinex_0 x_1 f(x) l_0 i_0 scalaridx_0 l_1 i_1 scalaridx_10 0 0 0 0 0 0 0 00 0.19634954 0.038239818 0 0 0 5 1 170 0.39269908 0.14662768 0 0 0 4 1 9...0 5.8904862 0.14662768 0 0 0 4 15 160 6.0868358 0.038239818 0 0 0 5 31 320 6.2831853 6.9388939e-18 0 0 0 0 1 1

0.03125 0 3.0517578e-05 5 1 17 0 0 00.03125 0.19634954 0.030093496 5 1 17 5 1 170.03125 0.39269908 0.1146012 5 1 17 4 1 90.03125 0.58904862 0.24129102 5 1 17 5 3 180.03125 0.78539816 0.38946059 5 1 17 3 1 50.03125 0.9817477 0.53949733 5 1 17 5 5 19

Christian Feuersänger Pgfplots

Page 59: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 1: surface plot from data file

\begin{tikzpicture}\begin{axis}\addplot3[surf,mesh/ordering=y varies]

table {concat_VV_together.dat};\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 60: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 1: surface plot from data file

\begin{tikzpicture}\begin{axis}\addplot3[surf,mesh/ordering=y varies]

table {concat_VV_together.dat};\end{axis}\end{tikzpicture} 0 0.2 0.4 0.6 0.8 1 0

24

60

0.5

1

Christian Feuersänger Pgfplots

Page 61: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 1: surface plot from data file

\begin{tikzpicture}\begin{axis}\addplot3[surf,mesh/ordering=y varies]

table {concat_VV_together.dat};\end{axis}\end{tikzpicture} 0 0.2 0.4 0.6 0.8 1 0

24

60

0.5

1

key for 2d data files:matrix form.data file = linearizedmatrixdecode with

1 mesh/ordering=x

varies|y varies2 either end-of-scanline

markers ormesh/rows=<N> ormesh/cols=<N>

\addplot3 table: readsfirst three columns(unless customized)

Christian Feuersänger Pgfplots

Page 62: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 2: fine–tuning

\begin{tikzpicture}\begin{axis}[

view/h=40,colorbar horizontal,xlabel=$x$, ylabel=$y$,

]\addplot3[surf,mesh/ordering=y varies,

shader=interp]table {concat_VV_together.dat};

\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 63: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 2: fine–tuning

\begin{tikzpicture}\begin{axis}[

view/h=40,colorbar horizontal,xlabel=$x$, ylabel=$y$,

]\addplot3[surf,mesh/ordering=y varies,

shader=interp]table {concat_VV_together.dat};

\end{axis}\end{tikzpicture}

00.5

1 02

46

0

0.5

1

x y

0 0.2 0.4 0.6 0.8 1

Christian Feuersänger Pgfplots

Page 64: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 2: fine–tuning

\begin{tikzpicture}\begin{axis}[

view/h=40,colorbar horizontal,xlabel=$x$, ylabel=$y$,

]\addplot3[surf,mesh/ordering=y varies,

shader=interp]table {concat_VV_together.dat};

\end{axis}\end{tikzpicture}

00.5

1 02

46

0

0.5

1

x y

0 0.2 0.4 0.6 0.8 1

view/h=<angle> horizontal view angleshader=... variousshading parameterscolor data = point metadata as previouslystandard: use z valuecolorbar shows currentcolormap and data range

Christian Feuersänger Pgfplots

Page 65: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 3: overlay grid

\begin{tikzpicture}\begin{axis}[

view/h=40,colorbar horizontal,xlabel=$x$, ylabel=$y$,

]\addplot3[surf,mesh/ordering=y varies,

shader=interp]table {concat_VV_together.dat};

\addplot3[blue,mark=*,mark options={fill=blue!80!black},only marks,mark size=0.6pt]

table[z expr=1.2]{concat_VV_together_grid.dat};

\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 66: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 3: overlay grid

\begin{tikzpicture}\begin{axis}[

view/h=40,colorbar horizontal,xlabel=$x$, ylabel=$y$,

]\addplot3[surf,mesh/ordering=y varies,

shader=interp]table {concat_VV_together.dat};

\addplot3[blue,mark=*,mark options={fill=blue!80!black},only marks,mark size=0.6pt]

table[z expr=1.2]{concat_VV_together_grid.dat};

\end{axis}\end{tikzpicture}

00.5

1 02

46

0

0.5

1

x y

0 0.2 0.4 0.6 0.8 1

Christian Feuersänger Pgfplots

Page 67: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 3: overlay grid

\begin{tikzpicture}\begin{axis}[

view/h=40,colorbar horizontal,xlabel=$x$, ylabel=$y$,

]\addplot3[surf,mesh/ordering=y varies,

shader=interp]table {concat_VV_together.dat};

\addplot3[blue,mark=*,mark options={fill=blue!80!black},only marks,mark size=0.6pt]

table[z expr=1.2]{concat_VV_together_grid.dat};

\end{axis}\end{tikzpicture}

00.5

1 02

46

0

0.5

1

x y

0 0.2 0.4 0.6 0.8 1

combines scatter + surfscatter is 2d use\addplot3 and z expr=1.2

to fix z coord

Christian Feuersänger Pgfplots

Page 68: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 4: contour plot of function expression

\begin{tikzpicture}\begin{axis}[

title={$x \exp(-x^2-y^2)$},enlarge x limits,view={0}{90},xlabel=$x$, ylabel=$y$,

]\addplot3[domain=-2:2,

contour gnuplot={number=14},thick]{exp(-x^2-y^2)*x};

\end{axis}\end{tikzpicture}

Christian Feuersänger Pgfplots

Page 69: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 4: contour plot of function expression

\begin{tikzpicture}\begin{axis}[

title={$x \exp(-x^2-y^2)$},enlarge x limits,view={0}{90},xlabel=$x$, ylabel=$y$,

]\addplot3[domain=-2:2,

contour gnuplot={number=14},thick]{exp(-x^2-y^2)*x};

\end{axis}\end{tikzpicture}

0.4

0.3

0.2

0.2

0.1

0.1

0.1

00

−0.1

−0.1

−0.1

−0.2

−0.2

−0.3

−0.4

−2 −1 0 1 2−2

−1

0

1

2

x

y

x exp(−x2 − y2)

Christian Feuersänger Pgfplots

Page 70: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Use–case 1: Scientific data analysisUse–case 2: Function visualizationUse–case 3: Scatter plotsUse–case 4: Functions of two variables

Use–case: Functions of two variables

Step 4: contour plot of function expression

\begin{tikzpicture}\begin{axis}[

title={$x \exp(-x^2-y^2)$},enlarge x limits,view={0}{90},xlabel=$x$, ylabel=$y$,

]\addplot3[domain=-2:2,

contour gnuplot={number=14},thick]{exp(-x^2-y^2)*x};

\end{axis}\end{tikzpicture}

0.4

0.3

0.2

0.2

0.1

0.1

0.1

00

−0.1

−0.1

−0.1

−0.2

−0.2

−0.3

−0.4

−2 −1 0 1 2−2

−1

0

1

2

x

y

x exp(−x2 − y2)

contour computation requiresexternal tool (here: gnuplot)is the only plot type whichrequires external toolsamples matrix from(x , y) ∈ [−2,2]2

optional: samples=<N> andsamples y=<N>, domain,domain y

view={0}{90}: from top

Christian Feuersänger Pgfplots

Page 71: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Summary and Outlook

user provides data + labels, pgfplots does the restfont+style consistency text/figure; figure/figurehigh-quality; powerful; flexibleembedded solution (no 3rd party tools)supports pdftex, luatex, dvips, dvipdfm (partially)

Outlook on other features of PGFPlots:automatic image externalizationplot types: bar plots; patch plots; quiver plots, . . .axis types: polar, smithchart, ternarytable package companionfull IEEE double range + 4-5 digits precisionlimitations: CPU intensive; 3d z buffer limited

Christian Feuersänger Pgfplots

Page 72: PGFPlots – Plotting in LATEXpgfplots.sourceforge.net/pgfplots_talk_FTUG_2012_final.pdf · Overview over PGFPlots Summary and Outlook Use–case 1: Scientific data analysis Use–case

IntroductionOverview over PGFPlots

Summary and Outlook

Further reading

http://pgfplots.sourceforge.net

0 2 4 6 8 10 12 14 160

50

100

150

200

1min load nodes cpus processes0 0.2 0.4 0.6 0.8

0.1

0.2

0.3

0.4

0.5

00.2 0.4 0.6 0.8 1 0

0.5

10

1

x

y

f(x,y

)=

x·y

Using Coordinate Filters to fix z = 1.4

0

0.2

0.4

0.6

0.8

1

−11

35

79

−11

35

79

−1

1

3

5

7

9

l1l2

l 3

00.20.4

0.60.8

1

0

0.5

1

0

0.5

1

−0.50

0.51 −0.5

00.5

−1

−0.5

0

tool1

tool2

tool3

tool4

tool5

tool6

tool7

0

2

4

6

8

10

#participan

ts

never rarely sometimes often

−200 −100 0100

200 −100

0

100−100

0

100

−2 −10

12−2

0

2

−4

−2

0

2

4

00.2 0.4 0.6 0.8 1 0

0.5

1

0

0.5

1

φxφyφxφy

− 32π −π/2 π/2 3

−5

5

tan(x)

0

30

6090

120

150

180

210

240270

300

330

0 0.5 1

0.8

0.8

0.8

0.6

0.6

0.6

0.6

0.4

0.4

0.4

0.4

0.4

0.40.2

0.2

0.2

0.2

0.2

0.2

0.2

0.2

112

14

34

−12/10

11/10

−6/10

1/10

A special Prewavelet

0 1 2 3 4 5

·106

0

1

2

3·104

Scatter plot with 2250 points

−6 −4 −2 0 2 4 6

−3,000

−2,000

−1,000

0

1,000

2,000

3,000 modelestimate

1930 1940 1950 1960 1970

2

4

6

·107

Houses

Pop

ulation

Far Near Here Annot101 102 103 104 105 106

10−5

10−4

10−3

10−2

10−1

Degrees of freedom

L2Error

d = 2d = 3d = 4d = 5d = 6

−2 −1 0 1 2−2

−1

0

1

2

x exp(−x2 − y2) and its gradient

Christian Feuersänger Pgfplots