summaryrefslogtreecommitdiff
path: root/info/visualtikz/Source/tkzdatavisual.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/visualtikz/Source/tkzdatavisual.tex
Initial commit
Diffstat (limited to 'info/visualtikz/Source/tkzdatavisual.tex')
-rw-r--r--info/visualtikz/Source/tkzdatavisual.tex263
1 files changed, 263 insertions, 0 deletions
diff --git a/info/visualtikz/Source/tkzdatavisual.tex b/info/visualtikz/Source/tkzdatavisual.tex
new file mode 100644
index 0000000000..3de1fdd0af
--- /dev/null
+++ b/info/visualtikz/Source/tkzdatavisual.tex
@@ -0,0 +1,263 @@
+\RRR{75-2 = Concept: Data Points and Data Formats}
+
+\begin{tikzpicture}
+\datavisualization [school book axes, visualize as smooth line]
+data {
+x, y
+-1.5, 2.25
+-1, 1
+-.5, .25
+0, 0
+.5, .25
+1, 1
+1.5, 2.25
+};
+\end{tikzpicture}
+
+
+\begin{tikzpicture}
+\datavisualization [school book axes, visualize as smooth line]
+data [format=function] {
+var x : interval [-1.5:1.5] samples 7;
+func y = \value x*\value x;
+};
+\end{tikzpicture}
+
+
+\begin{tikzpicture}
+\datavisualization [school book axes, visualize as smooth line]
+data [format=function] {
+var x : interval [-1.5:1.5] samples 3;
+func y = \value x*\value x;
+};
+\end{tikzpicture}
+
+Section 76 gives an in-depth coverage of the available data formats and explains how new data formats
+can be defined.
+
+
+\RRR{75-3 = Concept: Axes, Ticks, and Grids}
+
+
+\begin{tikzpicture}
+\datavisualization [
+scientific axes,
+x axis={length=3cm, ticks=few},
+visualize as smooth line
+]
+data [format=function] {
+var x : interval [-1.5:1.5] samples 20;
+func y = \value x*\value x;
+};
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\datavisualization [
+scientific axes=clean,
+x axis={length=3cm, ticks=few},
+all axes={grid},
+visualize as smooth line
+]
+data [format=function] {
+var x : interval [-1.5:1.5] samples 7;
+func y = \value x*\value x;
+};
+\end{tikzpicture}
+
+Section 77 explains in more detail how axes, ticks, and grid lines can be chosen and configured.
+
+
+\RRR {75-4 = Concept: Visualizers}
+
+\begin{tikzpicture}
+\datavisualization [
+scientific axes=clean,
+x axis={length=3cm, ticks=few},
+visualize as smooth line
+]
+data [format=function] {
+var x : interval [-1.5:1.5] samples 7;
+func y = \value x*\value x;
+};
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\datavisualization [
+scientific axes=clean,
+x axis={length=3cm, ticks=few},
+visualize as scatter
+]
+data [format=function] {
+var x : interval [-1.5:1.5] samples 7;
+func y = \value x*\value x;
+};
+\end{tikzpicture}
+
+Section 78 provides more information on visualizers as well as reference lists.
+
+\RRR{75-5 = Concept: Style Sheets and Legends }
+
+\begin{tikzpicture}[baseline]
+\datavisualization [ scientific axes=clean,
+y axis=grid,
+visualize as smooth line/.list={sin,cos,tan},
+style sheet=strong colors,
+style sheet=vary dashing,
+sin={label in legend={text=$\sin x$}},
+cos={label in legend={text=$\cos x$}},
+tan={label in legend={text=$\tan x$}},
+data/format=function ]
+data [set=sin] {
+var x : interval [-0.5*pi:4];
+func y = sin(\value x r);
+}
+data [set=cos] {
+var x : interval [-0.5*pi:4];
+func y = cos(\value x r);
+}
+data [set=tan] {
+var x : interval [-0.3*pi:.3*pi];
+func y = tan(\value x r);
+};
+\end{tikzpicture}
+
+
+Section 79 details style sheets and legends.
+
+\RRR{75-6 = Usage}
+
+\subsection{/pgf/data/read from file=filename} (no default, initially empty)
+
+If you set the source attribute to a non-empty hfilenamei, the data will be read from this file. In
+this case, no hinline datai may be present, not even empty curly braces should be provided.
+%\datavisualization ...
+data [read from file=file1.csv]
+data [read from file=file2.csv];
+The other way round, if read from file is empty, the data must directly follow as hinline datai.
+%\datavisualization ...
+data {
+x, y
+1, 2
+2, 3
+};
+
+The second important key is format, which is used to specify the data format:
+
+\subsection{/pgf/data/format}
+
+Use this key to locally set the format used for parsing the data, see Section 76 for a list of predefined
+formats.
+
+\tikz
+\datavisualization [school book axes, visualize as line]
+data [/data point/x=1] {
+y
+1
+2
+}
+data [/data point/x=2] {
+y
+2
+0
+.5
+};
+
+\BS{datavisualization} . . . data point[options] . . . ;
+
+\tikz \datavisualization [school book axes, visualize as line]
+data point [x=1, y=1] data point [x=1, y=2]
+data point [x=2, y=2] data point [x=2, y=0.5];
+
+/tikz/data visualization/data point=options
+
+\tikzdatavisualizationset{
+horizontal/.style={
+data point={x=#1, y=1}, data point={x=#1, y=2}},
+}
+\tikz \datavisualization
+[ school book axes, visualize as line,
+horizontal=1,
+horizontal=2 ];
+
+\BS{datavisualization} . . . data group[options]\AC{name}+=\AC{data specifications} . . . ;
+
+
+\tikz \datavisualization data group {points} = {
+data {
+x, y
+0, 1
+1, 2
+2, 2
+5, 1
+2, 0
+1, 1
+}
+};
+
+\tikz \datavisualization [school book axes, visualize as line] data group {points};
+\qquad
+\tikz \datavisualization [scientific axes=clean, visualize as line] data group {points};
+
+
+\BS{datavisualization} . . . scope[options]{data specification} . . . ;
+
+%\datavisualization...
+%scope [/data point/experiment=7]
+%{
+%data [read from file=experiment007-part1.csv]
+%data [read from file=experiment007-part2.csv]
+%data [read from file=experiment007-part3.csv]
+%}
+%scope [/data point/experiment=23, format=foo]
+%{
+%data [read from file=experiment023-part1.foo]
+%data [read from file=experiment023-part2.foo]
+%};
+
+
+\BS{datavisualization} . . . info[options]{code} . . . ;
+
+\begin{tikzpicture}[baseline]
+\datavisualization [ school book axes, visualize as line ]
+data [format=function] {
+var x : interval [-0.1*pi:2];
+func y = sin(\value x r);
+}
+info {
+\draw [red] (visualization cs: x={(.5*pi)}, y=1) circle [radius=1pt]
+node [above,font=\footnotesize] {extremal point};
+};
+\end{tikzpicture}
+
+\subsection{Coordinate system visualization}
+
+\BS{datavisualization} . . . info’[options]{code} . . . ;
+
+\begin{tikzpicture}[baseline]
+\datavisualization [ school book axes, visualize as line ]
+data [format=function] {
+var x : interval [-0.1*pi:2];
+func y = sin(\value x r);
+}
+info' {
+\fill [red] (visualization cs: x={(.5*pi)}, y=1) circle [radius=2mm];
+};
+\end{tikzpicture}
+
+
+\subsection{Predefined node data visualization bounding box}
+This rectangle node stores a bounding box of the data visualization that is currently being constructed.
+This node can be useful inside info commands or when labels need to be added.
+
+\subsection{Predefined node data bounding box}
+This rectangle node is similar to data visualization bounding box, but it keeps track only of the actual
+data. The spaces needed for grid lines, ticks, axis labels, tick labels, and other all other information
+that is not part of the actual data is not part of this box.
+
+
+\RRR{75-7 = Advanced: Executing User Code During a Data Visualization}
+
+\RRR{75-8 = Advanced: Creating New Objects}
+
+
+\section{76 Providing Data for a Data Visualization}