|
Boost-Commit : |
From: JakeVoytko_at_[hidden]
Date: 2007-08-13 22:11:20
Author: jakevoytko
Date: 2007-08-13 22:11:06 EDT (Mon, 13 Aug 2007)
New Revision: 38640
URL: http://svn.boost.org/trac/boost/changeset/38640
Log:
Documentation added
Text files modified:
sandbox/SOC/2007/visualization/libs/svg_plot/doc/Jamfile.v2 | 11
sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/HTML.manifest | 25
sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html | 296 -
sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.qbk | 316 +
sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.xml | 5523 +++++++++++++++++++++++----------------
5 files changed, 3527 insertions(+), 2644 deletions(-)
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/Jamfile.v2
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/Jamfile.v2 (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/Jamfile.v2 2007-08-13 22:11:06 EDT (Mon, 13 Aug 2007)
@@ -7,5 +7,14 @@
project boost/doc ;
import boostbook : boostbook ;
-boostbook function-doc : svg_plot.xml ;
+boostbook function-doc : svg_plot.xml
+ : <xsl:param>project.root=http://beta.boost.org/development
+ <xsl:param>annotation.support=1
+ <xsl:param>quickbook.source.style.show="'true'"
+ <xsl:param>chunk.first.sections=2
+ <xsl:param>chunk.section.depth=10
+ <xsl:param>toc.section.depth=3
+ <xsl:param>toc.max.depth=3
+ <xsl:param>generate.section.toc.level=4
+ ;
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/HTML.manifest
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/HTML.manifest (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/HTML.manifest 2007-08-13 22:11:06 EDT (Mon, 13 Aug 2007)
@@ -1,15 +1,26 @@
index.html
+svg_plot/howtouse.html
svg_plot/todo.html
svg_plot/color.html
svg_plot/tutorial_code_1d_simple.html
-svg_plot/full_1d_layout.html
-svg_plot/1d_special.html
+svg_plot/tutorial_code_1d_simple/tutorial_code_1d_example.html
+svg_plot/tutorial_code_1d_simple/full_1d_layout.html
+svg_plot/tutorial_code_1d_simple/1d_special.html
svg_plot/tutorial_2d_code_simple.html
-svg_plot/full_2d_layout.html
-svg_plot/2d_special.html
+svg_plot/tutorial_2d_code_simple/2d_simple_code_example.html
+svg_plot/tutorial_2d_code_simple/full_2d_layout.html
+svg_plot/tutorial_2d_code_simple/2d_special.html
+svg_plot/svg_boxplot_tutorial.html
+svg_plot/svg_boxplot_tutorial/svg_boxplot_tutorial_simple.html
+svg_plot/svg_boxplot_tutorial/svg_boxplot_tutorial_full_layout.html
svg_plot/behavior.html
+svg_plot/behavior/behavior_limits.html
svg_plot/plot_defaults.html
-svg_plot/svg_interface.html
-svg_plot/svg_1d_plot_interface.html
-svg_plot/svg_2d_plot_interface.html
+svg_plot/plot_defaults/1d_defaults.html
+svg_plot/plot_defaults/2d_defaults.html
+svg_plot/interface.html
+svg_plot/interface/svg_interface.html
+svg_plot/interface/svg_1d_plot_interface.html
+svg_plot/interface/svg_2d_plot_interface.html
+svg_plot/interface/svg_boxplot_interface.html
svg_plot/acknowledgements.html
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html 2007-08-13 22:11:06 EDT (Mon, 13 Aug 2007)
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
<link rel="start" href="index.html" title="SVG_Plot">
-<link rel="next" href="svg_plot/todo.html" title=" To Do List">
+<link rel="next" href="svg_plot/howtouse.html" title=" How To Use This Documentation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
@@ -17,7 +17,7 @@
<td align="center">More</td>
</table>
<hr>
-<div class="spirit-nav"><a accesskey="n" href="svg_plot/todo.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="svg_plot/howtouse.html"><img src="images/next.png" alt="Next"></a></div>
<div class="article" lang="en">
<div class="titlepage">
<div>
@@ -28,7 +28,7 @@
</h3></div></div></div>
<div><p class="copyright">Copyright © 2007 Jake Voytko</p></div>
<div><div class="legalnotice">
-<a name="id321345"></a><p>
+<a name="id290256"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
</p>
@@ -39,286 +39,60 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
-<dt><span class="section"> How To Use This Documentation</span></dt>
-<dd><dl>
-<dt><span class="section"> Admonishments</span></dt>
-<dt><span class="section"> Preface</span></dt>
-</dl></dd>
+<dt><span class="section"> How To Use This Documentation</span></dt>
<dt><span class="section"> To Do List</span></dt>
<dt><span class="section"> Colors</span></dt>
+<dt><span class="section"> Tutorial: 1D</span></dt>
<dd><dl>
-<dt><span class="section"><a href="svg_plot/color.html#svg_plot.color.color_interface"> <code class="computeroutput"><span class="identifier">svg_color_constant</span></code>
- Interface</a></span></dt>
-<dt><span class="section"><a href="svg_plot/color.html#svg_plot.color.svg_color_constant_example"> Example of
- using <code class="computeroutput"><span class="identifier">svg_color_constant</span></code></a></span></dt>
-<dt><span class="section"><a href="svg_plot/color.html#svg_plot.color.rgb_interface"> <code class="computeroutput"><span class="identifier">svg_color</span></code>
- interface</a></span></dt>
-<dt><span class="section"><a href="svg_plot/color.html#svg_plot.color.svg_color_example"> Example of using
- <code class="computeroutput"><span class="identifier">svg_color</span></code></a></span></dt>
-<dt><span class="section"> Internals and Rationale</span></dt>
+<dt><span class="section"><a href="svg_plot/tutorial_code_1d_simple/tutorial_code_1d_example.html">
+ Simple Example</a></span></dt>
+<dt><span class="section"><a href="svg_plot/tutorial_code_1d_simple/full_1d_layout.html"> Tutorial:
+ 1D Full Layout Example</a></span></dt>
+<dt><span class="section"><a href="svg_plot/tutorial_code_1d_simple/1d_special.html"> Tutorial:
+ 1D Special Features</a></span></dt>
</dl></dd>
-<dt><span class="section"><a href="svg_plot/tutorial_code_1d_simple.html"> Tutorial: 1D Simple
- Program</a></span></dt>
+<dt><span class="section"> Tutorial: 2D</span></dt>
<dd><dl>
-<dt><span class="section"><a href="svg_plot/tutorial_code_1d_simple.html#svg_plot.tutorial_code_1d_simple.tutorial_code_1d_example">
- Code Example</a></span></dt>
-<dt><span class="section"> Image</span></dt>
-<dt><span class="section"><a href="svg_plot/tutorial_code_1d_simple.html#svg_plot.tutorial_code_1d_simple.tutorial_syntax_explanation">
- A note on syntax</a></span></dt>
-<dt><span class="section"><a href="svg_plot/tutorial_code_1d_simple.html#svg_plot.tutorial_code_1d_simple.tutorial_simple_exam">
- Basic Example Breakdown</a></span></dt>
-</dl></dd>
-<dt><span class="section"> Tutorial: 1D Full Layout Example</span></dt>
-<dt><span class="section"> Tutorial: 1D Special Features</span></dt>
-<dd><dl>
-<dt><span class="section"> X Axis Grid Lines</span></dt>
-<dt><span class="section"><a href="svg_plot/1d_special.html#svg_plot.1d_special.x_axis_external_style"> X Axis External
- Style</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="svg_plot/tutorial_2d_code_simple.html"> Tutorial: Simple 2D
- Program</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="svg_plot/tutorial_2d_code_simple.html#svg_plot.tutorial_2d_code_simple.2d_simple_code_example">
+<dt><span class="section"><a href="svg_plot/tutorial_2d_code_simple/2d_simple_code_example.html">
Simple Code Example</a></span></dt>
-<dt><span class="section"><a href="svg_plot/tutorial_2d_code_simple.html#svg_plot.tutorial_2d_code_simple.2d_simple_image"> Simple
- Image</a></span></dt>
-<dt><span class="section"><a href="svg_plot/tutorial_2d_code_simple.html#svg_plot.tutorial_2d_code_simple.tutorial_simple_exam">
- Basic Example Breakdown</a></span></dt>
-</dl></dd>
-<dt><span class="section"> Tutorial: Full Layout Example</span></dt>
-<dt><span class="section"> Tutorial: 2D Special Features</span></dt>
-<dd><dl>
-<dt><span class="section"> Y Axis Grid Lines</span></dt>
-<dt><span class="section"><a href="svg_plot/2d_special.html#svg_plot.2d_special.external_y_axis"> External Y Axis
- Style</a></span></dt>
-<dt><span class="section"><a href="svg_plot/2d_special.html#svg_plot.2d_special.fill_axis_plot"> Fill the area between
- the plot and the axis</a></span></dt>
-<dt><span class="section"> Curve Interpolation</span></dt>
+<dt><span class="section"><a href="svg_plot/tutorial_2d_code_simple/full_2d_layout.html"> Tutorial:
+ Full Layout Example</a></span></dt>
+<dt><span class="section"><a href="svg_plot/tutorial_2d_code_simple/2d_special.html"> Tutorial:
+ 2D Special Features</a></span></dt>
+</dl></dd>
+<dt><span class="section"> Boxplot</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="svg_plot/svg_boxplot_tutorial/svg_boxplot_tutorial_simple.html">
+ Simple Example</a></span></dt>
+<dt><span class="section"><a href="svg_plot/svg_boxplot_tutorial/svg_boxplot_tutorial_full_layout.html">
+ Full Layout</a></span></dt>
</dl></dd>
<dt><span class="section"> Behavior</span></dt>
-<dd><dl><dt><span class="section"> Numerical Limits</span></dt></dl></dd>
+<dd><dl><dt><span class="section"> Numerical Limits</span></dt></dl></dd>
<dt><span class="section"> Defaults</span></dt>
<dd><dl>
-<dt><span class="section"><a href="svg_plot/plot_defaults.html#svg_plot.plot_defaults.1d_defaults"> <code class="computeroutput"><span class="identifier">svg_1d_plot</span></code>
+<dt><span class="section"><a href="svg_plot/plot_defaults/1d_defaults.html"> <code class="computeroutput"><span class="identifier">svg_1d_plot</span></code>
Defaults</a></span></dt>
-<dt><span class="section"><a href="svg_plot/plot_defaults.html#svg_plot.plot_defaults.2d_defaults"> <code class="computeroutput"><span class="identifier">svg_2d_plot</span></code>
+<dt><span class="section"><a href="svg_plot/plot_defaults/2d_defaults.html"> <code class="computeroutput"><span class="identifier">svg_2d_plot</span></code>
Defaults</a></span></dt>
</dl></dd>
-<dt><span class="section"> SVG Public Interface</span></dt>
-<dt><span class="section"><a href="svg_plot/svg_1d_plot_interface.html"> <code class="computeroutput"><span class="identifier">svg_1d_plot</span></code>
- Public Interface</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="svg_plot/svg_1d_plot_interface.html#svg_plot.svg_1d_plot_interface.svg_1d_inter_misc"> Miscellaneous
- Functions</a></span></dt>
-<dt><span class="section"> Commands</span></dt>
-<dt><span class="section"><a href="svg_plot/svg_1d_plot_interface.html#svg_plot.svg_1d_plot_interface.1d_inter_color"> Color
- Information</a></span></dt>
-<dt><span class="section"><a href="svg_plot/svg_1d_plot_interface.html#svg_plot.svg_1d_plot_interface.1d_inter_axis_information">
- Axis Information</a></span></dt>
-<dt><span class="section"><a href="svg_plot/svg_1d_plot_interface.html#svg_plot.svg_1d_plot_interface.1d_plot_function"> The
- <code class="computeroutput"><span class="identifier">plot</span><span class="special">()</span></code>
- Method</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="svg_plot/svg_2d_plot_interface.html"> <code class="computeroutput"><span class="identifier">svg_2d_plot</span></code>
- Public Interface</a></span></dt>
+<dt><span class="section"> Interface</span></dt>
<dd><dl>
-<dt><span class="section"> Miscellaneous</span></dt>
-<dt><span class="section"> Commands</span></dt>
-<dt><span class="section"> Color</span></dt>
-<dt><span class="section"> Axis Information</span></dt>
-<dt><span class="section"> The plot()
Method</span></dt>
+<dt><span class="section"><a href="svg_plot/interface/svg_interface.html"> <code class="computeroutput"><span class="identifier">svg</span></code>
+ Public Interface</a></span></dt>
+<dt><span class="section"> svg_1d_plot
Public Interface</span></dt>
+<dt><span class="section"> svg_2d_plot
Public Interface</span></dt>
+<dt><span class="section"> svg_boxplot
Public Interface</span></dt>
</dl></dd>
<dt><span class="section"> Acknowledgements</span></dt>
</dl>
</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="svg_plot.howtouse"></a> How To Use This Documentation
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> Admonishments</span></dt>
-<dt><span class="section"> Preface</span></dt>
-</dl></div>
-<div class="itemizedlist"><ul type="disc">
-<li>
- Tutorial pages are intended for those who do not know how to use the program.
- <div class="itemizedlist"><ul type="circle">
-<li>
- The pages that begin with the tag "Tutorial: Simple" are for
- absolute beginners.
- </li>
-<li>
- "Tutorial: Full" should give the intermediate user a good reference,
- as well as show how the program can be used
- </li>
-<li>
- "Tutorial: Special" shows other features/options that the headers
- provide to the user.
- </li>
-</ul></div>
-</li>
-<li>
- The pages labelled "* Public Interface" give reference information
- for their respective subjects. You can find all public methods (and data
- members, when structs are concerned) in these sections.
- </li>
-<li>
- If you have a feature request, or if it appears that my implementation is
- in error, please check the To Do
- page first, as well as the area's respective rationale section, if it exists.
- If I you do not find your idea/complaint, please reach me either through
- the Boost dev list, or email me at jakevoytko (at) gmail (dot) com
- </li>
-</ul></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="svg_plot.howtouse.admonishments"></a> Admonishments
-</h3></div></div></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td colspan="2" align="left" valign="top">
-<p>
- </p>
-<p>
- These blocks typically go into more detail about an explanation given
- above.
- </p>
-<p>
- </p>
-</td></tr>
-</table></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td colspan="2" align="left" valign="top">
-<p>
- </p>
-<p>
- These blocks contain information that you may find helpful while coding.
- </p>
-<p>
- </p>
-</td></tr>
-</table></div>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td colspan="2" align="left" valign="top">
-<p>
- </p>
-<p>
- These contain information that is imperative to understanding a concept.
- Failure to follow these blocks will likely result in undesired behavior.
- Read all of these you find.
- </p>
-<p>
- </p>
-</td></tr>
-</table></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td colspan="2" align="left" valign="top">
-<p>
- </p>
-<p>
- It is imperative that you follow these. Failure to do so will lead to
- incorrect, and likely undesired, results in the plot
- </p>
-<p>
- </p>
-</td></tr>
-</table></div>
-<p>
- And the first admonishment I will use is as follows:
- </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td colspan="2" align="left" valign="top">
-<p>
- </p>
-<p>
- This is not currently a Boost library. It is a GSoC project whose mentor
- organization is Boost.
- </p>
-<p>
- </p>
-</td></tr>
-</table></div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="svg_plot.howtouse.preface"></a> Preface
-</h3></div></div></div>
-<p>
- The first task when dealing with numerical data is to plot it. Humans have
- a fantastic capacity for visual understanding, and merely looking at data
- organized in one, two, or three dimensions allows us to see relations not
- otherwise visible in a list of numbers. Computers, however, deal with information
- numerically, and C++ and the STL do not currently offer a way to bridge the
- gap. This library allows the user to easily plot data stored in STL containers
- with (hopefully!) minimal intervention.
- </p>
-<p>
- This project is focused on using STL containers in order to graph data on
- a one-dimensional and two-dimensional (and if time allows, 3D!) plot. The
- plot will currently be written in an SVG image, compliant with the standard. The goals of the project
- are as follows:
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- To let users produce a simple plot with minimal intervention by using sane
- defaults
- </li>
-<li>
- To allow users to easily customize plots to their heart's content
- </li>
-<li>
- To allow the user to talk to the plot classes using coordinate units rather
- than pixels or other arbitrary measures
- </li>
-<li>
- To create the backbone of a <code class="computeroutput"><span class="identifier">svg</span></code>
- class that can be extended to fully support the standard
- </li>
-</ul></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td colspan="2" align="left" valign="top">
-<p>
- </p>
-<p>
- I have only a student's grasp of C++, so if you have a suggestion to
- help me with design or implementation, email me at jakevoytko (at) gmail
- (dot) com
- </p>
-<p>
- </p>
-</td></tr>
-</table></div>
-</div>
-</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><small><p>Last revised: August 08, 2007 at 20:04:42 GMT</p></small></td>
+<td align="left"><small><p>Last revised: August 14, 2007 at 01:54:52 GMT</p></small></td>
<td align="right"><small></small></td>
</tr></table>
<hr>
-<div class="spirit-nav"><a accesskey="n" href="svg_plot/todo.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="svg_plot/howtouse.html"><img src="images/next.png" alt="Next"></a></div>
</body>
</html>
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.qbk 2007-08-13 22:11:06 EDT (Mon, 13 Aug 2007)
@@ -28,7 +28,8 @@
you do not find your idea/complaint, please reach me either through the Boost
dev list, or email me at jakevoytko (at) gmail (dot) com
-[section:admonishments Admonishments]
+[heading Admonishments]
+
[note These blocks typically go into more detail about an explanation given
above.]
[tip These blocks contain information that you may find helpful while coding.]
@@ -43,10 +44,8 @@
[important This is not currently a Boost library. It is a GSoC project whose
mentor organization is Boost.]
-[endsect][/section:admonishments]
-[section:preface Preface]
-The first task when dealing with numerical data is to plot it.
+[heading Preface]
Humans have a fantastic capacity for visual understanding, and merely looking
at data organized in one, two, or three dimensions allows us to see relations
not otherwise visible in a list of numbers. Computers, however, deal with
@@ -72,7 +71,6 @@
help me with design or implementation, email me at
jakevoytko (at) gmail (dot) com]
-[endsect][/section:preface Preface]
[endsect][/section:howtouse How To Use This Documentation]
[section:todo To Do List]
@@ -102,10 +100,7 @@
efficient if lots of images are being produced.
* Allow the user to provide a function object for generating *custom axis labels* (For example, months instead of integer representations of months)
* *Logarithmic Axis*
-* *Clipping* of the plot window, so that graph lines do not get drawn outside of the plot.
* *Histogram*
-* *Box-and-whisker*
-* *Modify line methods* to deal with numerical limits (such as -NaN)
[endsect] [/section:todo To Do]
@@ -114,15 +109,13 @@
The project supports any RGB color, as well as a number of constants that are
[@http://www.w3.org/TR/SVG/types.html#ColorKeywords named by the SVG standard].
-[section:color_interface `svg_color_constant` Interface]
-
+[heading `svg_color_constant`]
`svg_color_constant` is simply an enumerated list. The colors are defined
[@http://www.w3.org/TR/SVG/types.html#ColorKeywords here]. The list contains
all of your expected colors, such as black and red. The list contains one extra color element, `blank`, used when you need to pass a color, but would not like it to show up. This comes in handy for defining defaults for functions, for example.
-[endsect] [/section:color_interface]
-[section:svg_color_constant_example Example of using `svg_color_constant`]
+[heading Example of using `svg_color_constant`]
using namespace boost::svg;
@@ -142,9 +135,8 @@
``
does not work.]
-[endsect][/section:svg_color_constant_example]
-[section:rgb_interface `svg_color` interface]
+[heading `svg_color` interface]
You can define a `svg_color` using two different constructors
@@ -156,9 +148,8 @@
[important Any integer value is accepted by the SVG standard, but negative values are rounded to 0, and positive values > 255 are rounded down to 255.]
-[endsect][/section:rgb_interface]
-[section:svg_color_example Example of using `svg_color`]
+[heading Example of using `svg_color`]
using namespace boost::svg;
@@ -171,9 +162,8 @@
[note `svg_color`'s constructor takes in three integer values. The SVG 1.1
standard allows any integer to represent an RGB value, with values less than 0
and greater than 255 being rounded to their respective min and max.]
-[endsect][/section:svg_color_example]
-[section:color_internals Internals and Rationale]
+[heading Internals and Rationale]
Constants are defined in an enum, `svg_color_constant`, in alphabetical order.
This facilitates quick lookup of their RGB values from an array. Anywhere
@@ -186,12 +176,10 @@
introduces the possibility of rounding error, which I would like to avoid at
all costs.
-[endsect][/section:color_internals]
[endsect][/section:color Color]
-[section:tutorial_code_1d_simple Tutorial: 1D Simple Program]
-
-[section:tutorial_code_1d_example Code Example]
+[section:tutorial_code_1d_simple Tutorial: 1D]
+[section:tutorial_code_1d_example Simple Example]
#include <boost/svg_plot/svg_1d_plot.hpp>
#include <vector>
@@ -221,13 +209,10 @@
return 0;
}
-[endsect][/section:tutorial_1d_code_example]
-[section:1d_simple_image Image]
[$images/1d_simple.png]
-[endsect][/section:1d_simple_image]
-[section:tutorial_syntax_explanation A note on syntax]
+[heading A Note On Syntax]
The syntax "`my_plot.title("Hello").legend_on(true)...`" may appear unfamiliar.
However, it works on the same principle that the assignment operator, addition
operator, and output operator in the following code works:
@@ -248,9 +233,8 @@
In the long run, I think you will find that my choice helps organize the code
a little better!
-[endsect][/section:tutorial_syntax_explanation A note on syntax]
-[section:tutorial_simple_exam Basic Example Breakdown]
+[heading Basic Example Breakdown]
Let's examine what this does.
svg_1d_plot my_plot;
@@ -280,7 +264,6 @@
This writes our plot to the file "simple.svg".
-[endsect] [/section:tutorial_simple_exam Basic Example Breakdown]
[endsect] [/section:tutorial_code_1d_simple 1D Simple Program]
[section:full_1d_layout Tutorial: 1D Full Layout Example]
@@ -379,7 +362,7 @@
[section:1d_special Tutorial: 1D Special Features]
-[section:x_axis_grid X Axis Grid Lines]
+[heading X Axis Grid Lines]
If you would like grid lines that go across the graph, you can make the
following call to `svg_1d_plot`:
@@ -396,9 +379,7 @@
[$images/1d_x_grid.png]
-[endsect] [/section:x_axis_grid_lines]
-
-[section:x_axis_external_style X Axis External Style]
+[heading X Axis External Style]
For an alternate way to display a regular axis, you can use an external style:
@@ -412,11 +393,9 @@
[important If the axis is turned off, `x_external_style_on(true)` will not
turn the axis back on. To do that, you must call `axis_on(true)`]
-[endsect] [/x_axis_external_style]
[endsect] [/1d_special Tutorial: 1D Special Features]
-
-
-[section:tutorial_2d_code_simple Tutorial: Simple 2D Program]
+[endsect] [/1d_tutorial]
+[section:tutorial_2d_code_simple Tutorial: 2D]
[section:2d_simple_code_example Simple Code Example]
#include <boost/svg_plot/svg_2d_plot.hpp>
@@ -452,13 +431,12 @@
return 0;
}
-[endsect][/section:2d_simple_example]
+[heading Resulting Image]
-[section:2d_simple_image Simple Image]
[$images/2d_simple.png]
-[endsect][/section:2d_simple_image Simple Image]
-[section:tutorial_simple_exam Basic Example Breakdown]
+[heading Basic Example Breakdown]
+
Let's examine what this does.
svg_2d_plot my_plot;
@@ -491,7 +469,6 @@
This writes our plot to the file "simple_2d.svg".
-[endsect] [/section:tutorial_simple_exam Basic Example Breakdown]
[endsect] [/section:tutorial_code_simple Simple program]
[section:full_2d_layout Tutorial: Full Layout Example]
@@ -594,7 +571,7 @@
[section:2d_special Tutorial: 2D Special Features]
-[section:y_grid_lines Y Axis Grid Lines]
+[header Y Axis Grid Lines]
If you would like grid lines that go across the graph, you can make the
following call to `svg_1d_plot`:
@@ -611,8 +588,7 @@
[$images/2d_y_grid.png]
-[endsect][/section:y_grid_lines Y Axis Grid Lines]
-[section:external_y_axis External Y Axis Style]
+[header External Y Axis Style]
For an alternate way to display a regular axis, you can use an external style:
@@ -621,9 +597,8 @@
[important If the axis is turned off, `y_external_style_on(true)` will not
turn the axis back on. To do that, you must call `axis_on(true)`]
-[endsect][/external_y_axis External Y Axis Style]
-[section:fill_axis_plot Fill the area between the plot and the axis]
+[header Fill the area between the plot and the axis]
When there is a call to the plot() method, define `_area_fill_color`
@@ -636,9 +611,7 @@
[$images/2d_area_fill.png]
-[endsect] [/section:external_y_axis]
-
-[section:curve_interpolation Curve Interpolation]
+[header Curve Interpolation]
If you would like an interpolated curve shown over your data, simply use the following command:
@@ -650,9 +623,110 @@
[warning The `_bezier_curve` feature is still very much in its infancy. If you play nice with it, it will play nice with you, but it still displays undesired behavior in extreme circumstances. Do not use this feature with curves that have a limit (`-NaN`, for example), or with data that has high irregularity in X-Axis spacing (a clump of points between (0, 1) on the X axis, with the next one at 100 on the X axis, for example)]
-[endsect] [/curve_interpolation]
[endsect] [/2d_special Tutorial: 2D Special Features]
+[endsect] [/2d_tutorial]
+[section:svg_boxplot_tutorial Boxplot]
+[section:svg_boxplot_tutorial_simple Simple Example]
+
+ // Functions we are using to simulate distributions.
+ double f(double x)
+ {
+ return 50 / x;
+ }
+
+ double g(double x)
+ {
+ return 40 + 25 * sin(x * 50);
+ }
+
+ int main()
+ {
+ using namespace boost::svg;
+
+ std::vector<double> data1, data2;
+
+ // Fill our vectors;
+ for(double i = .1; i < 10; i+=.1)
+ {
+ data1.push_back(f(i));
+ data2.push_back(g(i));
+ }
+
+ // Initialize a new plot.
+ svg_boxplot my_plot;
+
+ // Color information.
+ my_plot.background_border_color(black);
+
+ // String information.
+ my_plot.title("Boxplots of Common Functions")
+ .x_label("Functions")
+ .y_label("Population Size");
+
+ // Axis information.
+ my_plot.y_range(0, 100)
+ .y_minor_tick_length(20)
+ .y_major_interval(20);
+
+ // Write data.
+ my_plot.plot(data1, "[50 / x]");
+ my_plot.plot(data2, "[40 + 25 * sin(x * 50)]");
+
+ my_plot.write("boxplot_simple.svg");
+ return 0;
+ }
+
+[heading Image Produced]
+
+[$images/boxplot_simple.png]
+
+[heading Basic Example Breakdown]
+Let's examine what this does.
+
+[h3 Initializing a new boxplot]
+
+This initializes a new boxplot. This also sets many of the default values.
+
+ svg_boxplot my_plot;
+[h3 Setting a color]
+This sets the border color of the entire image to black.
+
+ my_plot.background_border_color(black);
+
+[h3 Setting strings in the plot]
+The following code sets the title that appears at the top of the graph, the
+label that appears at the bottom to name the X axis, and the label that appears
+to the left to name the Y axis.
+
+ my_plot.title("Boxplots of Common Functions")
+ .x_label("Functions")
+ .y_label("Population Size");
+
+[h3 Setting axis information]
+Axis information for the X axis is very limited, as the coordinate system
+for the X axis is discrete, based only on the number of box-and-whisker plots
+that appear in the same boxplot.
+
+Axis information for the Y axis, however, is customizable much in the same way that that axis information is customizable for the 1 and 2 dimensional graphs.
+ // Axis information.
+ my_plot.y_range(0, 100)
+ .y_minor_tick_length(20)
+ .y_major_interval(20);
+
+[h3 Writing to a file]
+
+This writes our plot to the file "simple.svg".
+
+``
+my_plot.write("boxplot_simple.svg");
+``
+
+[endsect][/section:svg_boxplot_tutorial_simple]
+[section:svg_boxplot_tutorial_full_layout Full Layout]
+
+[endsect]
+[endsect] [/svg_boxplot_tutorial Boxplot]
[section:behavior Behavior]
[section:behavior_limits Numerical Limits]
All limits that are dealt with are double precision floating point limits.
@@ -662,13 +736,12 @@
`_stroke_color = lightgray` and `_fill_color = whitesmoke`.
This will become customizable.
-[section:behavior_NaN NaN]
+[header NaN]
Any double precision floating point numbers that return a nonzero value for the
function `_isnan(double)` is considered to be a NaN value. When plotted, the
number will appear in the user-defined coordinates as 0.
-[endsect][/section:behavior_NaN NaN]
-[section:behavior_infinity Infinity]
+[header Infinity]
Any double precision floating point number that is equal to either of the
following is considered to be Infinity:
@@ -679,8 +752,8 @@
When plotted, these values will appear at the top of your plot window. If
the plot window is not turned on, these points will appear at the top of
the graph.
-[endsect][/section:behavior_infinity]
-[section:behavior_neg_infinity Negative Infinity]
+
+[header Negative Infinity]
Any double precision floating point number that is equal to either of the
following is considered to be Negative Infinity:
@@ -692,12 +765,11 @@
When plotted, these values will appear at the bottom of your plot window. If
the plot window is not turned on, these points will appear at the bottom of
the graph.
-[endsect][/section:behavior_infinity]
Here is an example of numeric limit handling in action:
[$images/2d_limit.png]
-[endsect][/section:behavior_limits Numerical Limits]
+[endsect][/section:numerical_limits]
[endsect][/section:behavior Behavior]
[section:plot_defaults Defaults]
@@ -773,7 +845,8 @@
[endsect][/section:2d_defaults]
[endsect][/section:defaults]
-[section:svg_interface SVG Public Interface]
+[section:interface Interface]
+[section:svg_interface `svg` Public Interface]
[table class svg
[[Signature] [Description] [Notes]]
[[`svg()`] [Constructor] [The default image size is (400, 400)]]
@@ -802,8 +875,7 @@
[endsect][/section:svg_interface]
[section:svg_1d_plot_interface `svg_1d_plot` Public Interface]
-[section:svg_1d_inter_misc Miscellaneous Functions]
-[table
+[table Miscellaneous Functions
[[Signature] [Description]]
[[`svg_1d_plot()`] [See the defaults section for further details]]
[[`svg_1d_plot& image_size(unsigned int, unsigned int)`] [Sets the size of the image produced, in pixels]]
@@ -812,10 +884,8 @@
[[`svg_1d_plot& title_font_size(unsigned int)`] [Sets the font size for the title]]
[[`svg_1d_plot& write(const std::string&)`] [Writes the plot to the file passed as a parameter]]
[[`svg_1d_plot& write(ostream&)`] [Writes the plot to a stream passed as a parameter]]]
-[endsect][/section:svg_1d_inter_misc]
-[section:1d_inter_commands Commands]
-[table
+[table Commands
[[Signature] [Description]]
[[`svg_1d_plot& axis_on(bool)`] [Sets whether the axis is on or off]]
[[`svg_1d_plot& legend_on(bool)`] [Sets whether the legend is on or off]]
@@ -828,10 +898,8 @@
[[`svg_1d_plot& x_major_grid_on(bool)`] [Determines whether or not the major grid on the X axis will be displayed]]
[[`svg_1d_plot& x_minor_grid_on(bool)`] [Determines whether or not the minor grid on the X axis will be displayed]]
[[`svg_1d_plot& y_axis_on(bool)`] [Determines whether or not the Y axis is displayed]]]
-[endsect][/section:1d_inter_commands]
-[section:1d_inter_color Color Information]
-[table
+[table Colors
[[Signature] [Description]]
[[`svg_1d_plot& background_border_color(const svg_color &col)`] [Set the background border color for the legend as `col`, an RGB color]]
[[`svg_1d_plot& background_color(const svg_color &col)`] [Set the background color for the whole image]]
@@ -846,10 +914,8 @@
[[`svg_1d_plot& x_minor_grid_color(const svg_color &col)`] [Sets the color of the minor grid of the x-axis]]
[[`svg_1d_plot& x_minor_tick_color(const svg_color &col)`] [Sets the color of the minor ticks of the x-axis]]
]
-[endsect][/section:1d_inter_color]
-[section:1d_inter_axis_information Axis Information]
-[table
+[table Axis Definition
[[Signature] [Description]]
[[`svg_1d_plot& x_axis_width(unsigned int)`] [Sets the stroke width of the x-axis] ]
[[`svg_1d_plot& x_label(const std::string&)`] [Sets the label of the x-axis. This does not guarantee that it will be shown. You must run `x_label_on(true)` for that guarantee] ]
@@ -861,9 +927,8 @@
[[`svg_1d_plot& x_num_minor_ticks(int)`] [Sets the number of minor ticks between each major tick] ]
[[`svg_1d_plot& x_range(double x1, double x2)`] [Sets the scale of the x axis from x1 to x2. Throws an exception if x2<=x1 ] ]
]
-[endsect][/section:1d_inter_axis_information]
-[section:1d_plot_function The `plot()` Method]
+[heading The `plot()` Method]
The `plot()` method is defined using Boost.Parameter. As such, it supports a
few extra named parameters, as well as a deduced parameter.
@@ -922,22 +987,18 @@
Since _fill_color is a deduced parameter, when two svg_colors are used in the
same function call, they are always inferred in the following order: (fill,
stroke).
-[endsect][/section:plot_function The `plot()` Method]
[endsect][/svg_1d_plot_interface]
[section:svg_2d_plot_interface `svg_2d_plot` Public Interface]
-[section:2d_inter_misc Miscellaneous]
-[table
+[table Miscellaneous
[[Signature] [Description]]
[[`svg_2d_plot()`] [See the defaults section for further details]]
[[`svg_2d_plot& image_size(unsigned int, unsigned int)`] [Sets the size of the image produced, in pixels]]
[[`svg_2d_plot& title(const std::string&)`] [Sets the string to be used for the title]]
[[`svg_2d_plot& title_font_size(unsigned int)`] [Sets the font size for the title]]
[[`svg_2d_plot& legend_title_font_size(unsigned int)`] [Sets the font size for the legend title]]]
-[endsect][/section:2d_inter_misc]
-[section:2d_inter_commands Commands]
-[table
+[table Commands
[[Signature] [Description]]
[[`svg_2d_plot& axis_on(bool)`] [Sets whether the axis is on or off]]
[[`svg_2d_plot& legend_on(bool)`] [Sets whether the legend is on or off]]
@@ -951,10 +1012,8 @@
[[`svg_2d_plot& y_major_grid_on(bool)`] [Determines whether or not the major grid on the Y axis will be displayed]]
[[`svg_2d_plot& y_major_labels_on(bool)`] [sets whether or not the major ticks will be labelled on the Y axis]]
[[`svg_2d_plot& y_minor_grid_on(bool)`] [Determines whether or not the minor grid on the Y axis will be displayed]]]
-[endsect][/section:2d_inter_commands]
-[section:2d_inter_color Color]
-[table
+[table Colors
[[Signature] [Description]]
[[`svg_2d_plot& title_color(const svg_color &col)`] [Set the title color]]
[[`svg_2d_plot& background_color(const svg_color &col)`] [Set the background color for the whole image]]
@@ -973,10 +1032,8 @@
[[`svg_2d_plot& y_major_grid_color(const svg_color &col)`] [Sets the color of the grid that runs perpindicular to the Y axis]]
[[`svg_2d_plot& y_minor_tick_color(const svg_color &col)`] [Sets the color of the minor ticks of the Y-axis]]
]
-[endsect][/section:2d_inter_color]
-[section:2d_inter_axis Axis Information]
-[table
+[table Axis Information
[[Signature] [Description]]
[[`svg_2d_plot& x_axis_width(unsigned int)`] [Sets the stroke width of the x-axis] ]
[[`svg_2d_plot& x_label(const std::string&)`] [Sets the label of the x-axis. This does not guarantee that it will be shown. You must run `x_label(true)` for that guarantee] ]
@@ -999,11 +1056,10 @@
[[`svg_2d_plot& y_num_minor_ticks(int)`] [Sets the number of minor ticks between each major tick] ]
[[`svg_2d_plot& y_scale(double y1, double y2)`] [Sets the scale of the Y axis from y1 to y2. Throws an exception if y2<=y1 ] ]
]
-[endsect][/section:2d_inter_axis]
(Note: Getters omitted for now)
-[section:plot_function The `plot()` Method]
+[header The `plot()` Method]
The `plot()` method is defined using Boost.Parameter. As such, it supports a
few extra named parameters, as well as a deduced parameter.
@@ -1066,8 +1122,94 @@
Since _fill_color is a deduced parameter, when two svg_colors are used in the
same function call, they are always inferred in the following order: (fill,
stroke).
-[endsect][/section:plot_function The `plot()` Method]
[endsect][/section:svg_2d_plot_interface]
+[section:svg_boxplot_interface `svg_boxplot` Public Interface]
+[table Miscellaneous
+ [[Signature] [Description]]
+ [[`svg_boxplot()`] [See the defaults section for further details]]
+ [[`svg_boxplot& image_size(unsigned int, unsigned int)`] [Sets the size of the image produced, in pixels]]
+ [[`svg_boxplot& title(const std::string&)`] [Sets the string to be used for the title]]
+ [[`svg_boxplot& title_size(unsigned int)`] [Sets the font size for the title]]]
+
+[table Commands
+ [[Signature] [Description]]
+ [[`svg_boxplot& title_on(bool)`] [Determines whether or not the image title is displayed]]
+ [[`svg_boxplot& x_label_on(bool)`] [Sets whether or not the X axis label will show]]
+ [[`svg_boxplot& x_labels_on(bool)`] [sets whether or not the major ticks will be labelled on the x axis]]
+ [[`svg_boxplot& y_label_on(bool)`] [Sets whether or not the Y axis label will show]]
+ [[`svg_boxplot& y_major_labels_on(bool)`] [sets whether or not the major ticks will be labelled on the Y axis]]]
+
+[table Colors
+ [[Signature] [Description]]
+ [[`svg_boxplot& title_color(const svg_color &col)`] [Set the title color]]
+ [[`svg_boxplot& background_color(const svg_color &col)`] [Set the background color for the whole image]]
+ [[`svg_boxplot& background_border_color(const svg_color &col)`] [Set the background border color for the legend as `col`, an RGB color]]
+ [[`svg_boxplot& plot_background_color(const svg_color &col)`] [Set the color of the plot area. Note: this only goes into effect if plot_area(true) has been called]]
+ [[`svg_boxplot& x_label_color(const svg_color &col)`] [Sets the color of the labels that go along the X axis]]
+ [[`svg_boxplot& x_tick_color(const svg_color &col)`] [Sets the color of the major ticks of the x-axis]]
+ [[`svg_boxplot& y_label_color(const svg_color &col)`] [Sets the color of the labels that go along the X axis]]
+ [[`svg_boxplot& y_major_tick_color(const svg_color &col)`] [Sets the color of the major ticks of the Y-axis]]
+ [[`svg_boxplot& y_minor_tick_color(const svg_color &col)`] [Sets the color of the minor ticks of the Y-axis]]
+ ]
+
+[table Axis Information
+ [[Signature] [Description]]
+ [[`svg_boxplot& x_label(const std::string&)`] [Sets the label of the x-axis. This does not guarantee that it will be shown. You must run `x_label(true)` for that guarantee] ]
+ [[`svg_boxplot& x_tick_length(int)`] [Sets the length (in pixels) of the x-axis ticks] ]
+ [[`svg_boxplot& x_tick_width(unsigned int)`] [Sets the width (in pixels) of the major ticks on the x-axis] ]
+ [[`svg_boxplot& y_label(const std::string&)`] [Sets the label of the x-axis. This does not guarantee that it will be shown. You must run `x_label(true)` for that guarantee] ]
+ [[`svg_boxplot& y_major_interval(double)`] [Sets the distance (in Cartesian units) between ticks on the Y axis] ]
+ [[`svg_boxplot& y_major_tick_length(int)`] [Sets the length (in pixels) of the Y axis major ticks] ]
+ [[`svg_boxplot& y_major_tick_width(unsigned int)`] [Sets the width (in pixels) of the major ticks on the Y axis] ]
+ [[`svg_boxplot& y_num_minor_tick(unsigned int)`] [Sets the length (in pixels) of the Y axis minor ticks] ]
+ [[`svg_boxplot& y_major_tick_length(int)`] [Sets the length (in pixels) of the Y axis minor tick lengths] ]
+ [[`svg_boxplot& y_minor_tick_width(unsigned int)`] [Sets the width (in pixels) of the minor ticks on the Y axis] ]
+ [[`svg_boxplot& y_num_minor_ticks(int)`] [Sets the number of minor ticks between each major tick] ]
+ [[`svg_boxplot& y_range(double y1, double y2)`] [Sets the scale of the Y axis from y1 to y2. Throws an exception if y2<=y1 ] ]
+]
+
+(Note: Getters omitted for now)
+
+[heading The `plot()` Method]
+
+The `plot()` method is defined using Boost.Parameter. As such, it supports a
+few extra named parameters, as well as a deduced parameter.
+
+[table Required parameter
+[[ID] [Type (* is a wildcard)] [Description]]
+[[ctr] [*] [Any object that can return an iterator with begin() and end()]]
+[[name] [`std::string`] [The name of this series]]]
+
+[table Optional Parameters
+[[ID] [Type] [Description] [Default]]
+[[box_style] [`const svg_style&`] [Styles the box of the boxplot] [`svg_style(white, black, 1)`]]
+[[median_style] [`const svg_style&`] [Styles the median of the boxplot] [`svg_style(white, black, 1)`]]
+[[axis_style] [`const svg_style&`] [Styles the data range line (the line going through the middle] [`svg_style(white, black, 1)`]]
+[[min_whisker_style] [`const svg_style&`][Styles the lower whisker] [`svg_style(white, black, 1)`]]
+[[max_whisker_style] [`const svg_style&`] [Styles the upper whisker] [`svg_style(white, black, 1)`]]
+[[mild_outlier_style] [`const plot_point_style&`] [Styles outliers within 3 Inter-Quartile Ranges (IQRs) of the edges of the box] [`plot_point_style(black, black, 0)`]]
+[[ext_outlier_style] [`const plot_point_style&`] [Styles outliers more than 3 IQRs away from the box.] [`plot_point_style(white, black, 1)`]]
+[[whisker_length] [unsigned int] [Determines how long the whiskers at the end of the data range line will be] [30]]
+[[box_width] [unsigned int] [Determines the width of the box] [60]]
+[[functor] [*] [A class or that contains a conversion function. You will not have to worry about this, unless you are trying to accomplish stuff like plotting a vector of humans. For example:
+``
+class my_functor
+{
+ typdef double result_type;
+
+ double operator()(const human& _hum) const
+ {
+ return double(_hum.age());
+ }
+}
+
+// snip
+
+plot(my_data, "Lions", functor = my_functor());
+``
+][`boost_default_convert` (the default) is sufficient in all cases where the data stored in the container can be directly casted to a double]]]
+[endsect][/section:svg_2d_plot_interface]
+[endsect][/section:interface]
[section:acknowledgements Acknowledgements]
I would like to thank the following people:
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.xml
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.xml (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.xml 2007-08-13 22:11:06 EDT (Mon, 13 Aug 2007)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<article id="svg_plot" name="SVG_Plot" dirname="svg_plot" last-revision="$Date: 2007/08/08 20:04:42 $"
+<article id="svg_plot" name="SVG_Plot" dirname="svg_plot" last-revision="$Date: 2007/08/14 01:54:52 $"
xmlns:xi="http://www.w3.org/2001/XInclude">
<articleinfo>
<authorgroup>
@@ -55,97 +55,96 @@
the Boost dev list, or email me at jakevoytko (at) gmail (dot) com
</listitem>
</itemizedlist>
- <section id="svg_plot.howtouse.admonishments">
- <title><link linkend="svg_plot.howtouse.admonishments"> Admonishments</link></title>
- <note>
+ <anchor id="svg_plot.howtouse.admonishments"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.howtouse.admonishments">Admonishments</link>
+ </bridgehead>
+ <note>
+ <para>
<para>
- <para>
- These blocks typically go into more detail about an explanation given
- above.
- </para>
+ These blocks typically go into more detail about an explanation given above.
</para>
- </note>
- <tip>
+ </para>
+ </note>
+ <tip>
+ <para>
<para>
- <para>
- These blocks contain information that you may find helpful while coding.
- </para>
+ These blocks contain information that you may find helpful while coding.
</para>
- </tip>
- <important>
+ </para>
+ </tip>
+ <important>
+ <para>
<para>
- <para>
- These contain information that is imperative to understanding a concept.
- Failure to follow these blocks will likely result in undesired behavior.
- Read all of these you find.
- </para>
+ These contain information that is imperative to understanding a concept.
+ Failure to follow these blocks will likely result in undesired behavior.
+ Read all of these you find.
</para>
- </important>
- <warning>
+ </para>
+ </important>
+ <warning>
+ <para>
<para>
- <para>
- It is imperative that you follow these. Failure to do so will lead to
- incorrect, and likely undesired, results in the plot
- </para>
+ It is imperative that you follow these. Failure to do so will lead to incorrect,
+ and likely undesired, results in the plot
</para>
- </warning>
- <para>
- And the first admonishment I will use is as follows:
</para>
- <important>
+ </warning>
+ <para>
+ And the first admonishment I will use is as follows:
+ </para>
+ <important>
+ <para>
<para>
- <para>
- This is not currently a Boost library. It is a GSoC project whose mentor
- organization is Boost.
- </para>
+ This is not currently a Boost library. It is a GSoC project whose mentor
+ organization is Boost.
</para>
- </important>
- </section>
- <section id="svg_plot.howtouse.preface">
- <title><link linkend="svg_plot.howtouse.preface"> Preface</link></title>
- <para>
- The first task when dealing with numerical data is to plot it. Humans have
- a fantastic capacity for visual understanding, and merely looking at data
- organized in one, two, or three dimensions allows us to see relations not
- otherwise visible in a list of numbers. Computers, however, deal with information
- numerically, and C++ and the STL do not currently offer a way to bridge the
- gap. This library allows the user to easily plot data stored in STL containers
- with (hopefully!) minimal intervention.
- </para>
- <para>
- This project is focused on using STL containers in order to graph data on
- a one-dimensional and two-dimensional (and if time allows, 3D!) plot. The
- plot will currently be written in an SVG image, compliant with the <ulink
- url="http://www.w3.org/TR/SVG11/W3C">standard</ulink>. The goals of the project
- are as follows:
</para>
- <itemizedlist>
- <listitem>
- To let users produce a simple plot with minimal intervention by using sane
- defaults
- </listitem>
- <listitem>
- To allow users to easily customize plots to their heart's content
- </listitem>
- <listitem>
- To allow the user to talk to the plot classes using coordinate units rather
- than pixels or other arbitrary measures
- </listitem>
- <listitem>
- To create the backbone of a <code><phrase role="identifier">svg</phrase></code>
- class that can be extended to fully support the standard
- </listitem>
- </itemizedlist>
- <note>
+ </important>
+ <anchor id="svg_plot.howtouse.preface"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.howtouse.preface">Preface</link>
+ </bridgehead>
+ <para>
+ Humans have a fantastic capacity for visual understanding, and merely looking
+ at data organized in one, two, or three dimensions allows us to see relations
+ not otherwise visible in a list of numbers. Computers, however, deal with information
+ numerically, and C++ and the STL do not currently offer a way to bridge the
+ gap. This library allows the user to easily plot data stored in STL containers
+ with (hopefully!) minimal intervention.
+ </para>
+ <para>
+ This project is focused on using STL containers in order to graph data on a
+ one-dimensional and two-dimensional (and if time allows, 3D!) plot. The plot
+ will currently be written in an SVG image, compliant with the <ulink url="http://www.w3.org/TR/SVG11/W3C">standard</ulink>.
+ The goals of the project are as follows:
+ </para>
+ <itemizedlist>
+ <listitem>
+ To let users produce a simple plot with minimal intervention by using sane
+ defaults
+ </listitem>
+ <listitem>
+ To allow users to easily customize plots to their heart's content
+ </listitem>
+ <listitem>
+ To allow the user to talk to the plot classes using coordinate units rather
+ than pixels or other arbitrary measures
+ </listitem>
+ <listitem>
+ To create the backbone of a <code><phrase role="identifier">svg</phrase></code>
+ class that can be extended to fully support the standard
+ </listitem>
+ </itemizedlist>
+ <note>
+ <para>
<para>
- <para>
- I have only a student's grasp of C++, so if you have a suggestion to
- help me with design or implementation, email me at jakevoytko (at) gmail
- (dot) com
- </para>
+ I have only a student's grasp of C++, so if you have a suggestion to help
+ me with design or implementation, email me at jakevoytko (at) gmail (dot)
+ com
</para>
- </note>
- </section>
+ </para>
+ </note>
</section>
<section id="svg_plot.todo">
<title><link linkend="svg_plot.todo"> To Do List</link></title>
@@ -207,19 +206,8 @@
<emphasis role="bold">Logarithmic Axis</emphasis>
</listitem>
<listitem>
- <emphasis role="bold">Clipping</emphasis> of the plot window, so that graph
- lines do not get drawn outside of the plot.
- </listitem>
- <listitem>
<emphasis role="bold">Histogram</emphasis>
</listitem>
- <listitem>
- <emphasis role="bold">Box-and-whisker</emphasis>
- </listitem>
- <listitem>
- <emphasis role="bold">Modify line methods</emphasis> to deal with numerical
- limits (such as -NaN)
- </listitem>
</itemizedlist>
</section>
<section id="svg_plot.color">
@@ -229,22 +217,25 @@
<ulink url="http://www.w3.org/TR/SVG/types.html#ColorKeywords">named by the
SVG standard</ulink>.
</para>
- <section id="svg_plot.color.color_interface">
- <title><link linkend="svg_plot.color.color_interface"> <code><phrase role="identifier">svg_color_constant</phrase></code>
- Interface</link></title>
- <para>
- <code><phrase role="identifier">svg_color_constant</phrase></code> is simply
- an enumerated list. The colors are defined <ulink url="http://www.w3.org/TR/SVG/types.html#ColorKeywords">here</ulink>.
- The list contains all of your expected colors, such as black and red. The
- list contains one extra color element, <code><phrase role="identifier">blank</phrase></code>,
- used when you need to pass a color, but would not like it to show up. This
- comes in handy for defining defaults for functions, for example.
- </para>
- </section>
- <section id="svg_plot.color.svg_color_constant_example">
- <title><link linkend="svg_plot.color.svg_color_constant_example"> Example of
- using <code><phrase role="identifier">svg_color_constant</phrase></code></link></title>
-
+ <anchor id="svg_plot.color._code__phrase_role__identifier__svg_color_constant__phrase___code_"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.color._code__phrase_role__identifier__svg_color_constant__phrase___code_"><code><phrase
+ role="identifier">svg_color_constant</phrase></code></link>
+ </bridgehead>
+ <para>
+ <code><phrase role="identifier">svg_color_constant</phrase></code> is simply
+ an enumerated list. The colors are defined <ulink url="http://www.w3.org/TR/SVG/types.html#ColorKeywords">here</ulink>.
+ The list contains all of your expected colors, such as black and red. The list
+ contains one extra color element, <code><phrase role="identifier">blank</phrase></code>,
+ used when you need to pass a color, but would not like it to show up. This
+ comes in handy for defining defaults for functions, for example.
+ </para>
+ <anchor id="svg_plot.color.example_of_using__code__phrase_role__identifier__svg_color_constant__phrase___code_"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.color.example_of_using__code__phrase_role__identifier__svg_color_constant__phrase___code_">Example
+ of using <code><phrase role="identifier">svg_color_constant</phrase></code></link>
+ </bridgehead>
+
<programlisting>
<phrase role="keyword">using</phrase> <phrase role="keyword">namespace</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">svg</phrase><phrase role="special">;</phrase>
@@ -255,34 +246,35 @@
<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">background_border_color</phrase><phrase role="special">(</phrase><phrase role="identifier">my_const</phrase><phrase role="special">);</phrase>
<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">background_color</phrase><phrase role="special">(</phrase><phrase role="identifier">lightgray</phrase><phrase role="special">);</phrase>
</programlisting>
- <note>
+ <note>
+ <para>
<para>
- <para>
- <code><phrase role="identifier">svg_color</phrase></code> has a constructor
- for <code><phrase role="identifier">svg_color_constant</phrase></code>,
- so you can use a <code><phrase role="identifier">svg_color_constant</phrase></code>
- in place of a <code><phrase role="identifier">svg_color</phrase></code>
- and it will be implicitly converted. However, there is not currently
- an <code><phrase role="identifier">svg_color</phrase><phrase role="special">::</phrase><phrase
- role="keyword">operator</phrase><phrase role="special">=(</phrase><phrase
- role="identifier">svg_color_constant</phrase><phrase role="special">)</phrase></code>
- overload, so
+ <code><phrase role="identifier">svg_color</phrase></code> has a constructor
+ for <code><phrase role="identifier">svg_color_constant</phrase></code>,
+ so you can use a <code><phrase role="identifier">svg_color_constant</phrase></code>
+ in place of a <code><phrase role="identifier">svg_color</phrase></code>
+ and it will be implicitly converted. However, there is not currently an
+ <code><phrase role="identifier">svg_color</phrase><phrase role="special">::</phrase><phrase
+ role="keyword">operator</phrase><phrase role="special">=(</phrase><phrase
+ role="identifier">svg_color_constant</phrase><phrase role="special">)</phrase></code>
+ overload, so
<programlisting>
<phrase role="identifier">svg_color</phrase> <phrase role="identifier">my_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">;</phrase>
</programlisting>
- does not work.
- </para>
+ does not work.
</para>
- </note>
- </section>
- <section id="svg_plot.color.rgb_interface">
- <title><link linkend="svg_plot.color.rgb_interface"> <code><phrase role="identifier">svg_color</phrase></code>
- interface</link></title>
- <para>
- You can define a <code><phrase role="identifier">svg_color</phrase></code>
- using two different constructors
</para>
-
+ </note>
+ <anchor id="svg_plot.color._code__phrase_role__identifier__svg_color__phrase___code__interface"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.color._code__phrase_role__identifier__svg_color__phrase___code__interface"><code><phrase
+ role="identifier">svg_color</phrase></code> interface</link>
+ </bridgehead>
+ <para>
+ You can define a <code><phrase role="identifier">svg_color</phrase></code>
+ using two different constructors
+ </para>
+
<programlisting>
<phrase role="comment">// The parameters are red, green, and blue respectively.
</phrase><phrase role="identifier">svg_color</phrase><phrase role="special">(</phrase><phrase role="keyword">int</phrase><phrase role="special">,</phrase> <phrase role="keyword">int</phrase><phrase role="special">,</phrase> <phrase role="keyword">int</phrase><phrase role="special">);</phrase>
@@ -290,18 +282,20 @@
<phrase role="comment">// Use a pre-existing color constant.
</phrase><phrase role="identifier">svg_color</phrase><phrase role="special">(</phrase><phrase role="identifier">svg_color_constant</phrase><phrase role="special">);</phrase>
</programlisting>
- <important>
+ <important>
+ <para>
<para>
- <para>
- Any integer value is accepted by the SVG standard, but negative values
- are rounded to 0, and positive values > 255 are rounded down to 255.
- </para>
+ Any integer value is accepted by the SVG standard, but negative values
+ are rounded to 0, and positive values > 255 are rounded down to 255.
</para>
- </important>
- </section>
- <section id="svg_plot.color.svg_color_example">
- <title><link linkend="svg_plot.color.svg_color_example"> Example of using
- <code><phrase role="identifier">svg_color</phrase></code></link></title>
+ </para>
+ </important>
+ <anchor id="svg_plot.color.example_of_using__code__phrase_role__identifier__svg_color__phrase___code_"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.color.example_of_using__code__phrase_role__identifier__svg_color__phrase___code_">Example
+ of using <code><phrase role="identifier">svg_color</phrase></code></link>
+ </bridgehead>
+
<programlisting>
<phrase role="keyword">using</phrase> <phrase role="keyword">namespace</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">svg</phrase><phrase role="special">;</phrase>
@@ -310,41 +304,40 @@
<phrase role="identifier">BOOST_ASSERT</phrase><phrase role="special">(</phrase><phrase role="identifier">my_white</phrase> <phrase role="special">==</phrase> <phrase role="identifier">const_white</phrase><phrase role="special">);</phrase>
</programlisting>
- <note>
+ <note>
+ <para>
<para>
- <para>
- <code><phrase role="identifier">svg_color</phrase></code>'s constructor
- takes in three integer values. The SVG 1.1 standard allows any integer
- to represent an RGB value, with values less than 0 and greater than 255
- being rounded to their respective min and max.
- </para>
+ <code><phrase role="identifier">svg_color</phrase></code>'s constructor
+ takes in three integer values. The SVG 1.1 standard allows any integer
+ to represent an RGB value, with values less than 0 and greater than 255
+ being rounded to their respective min and max.
</para>
- </note>
- </section>
- <section id="svg_plot.color.color_internals">
- <title><link linkend="svg_plot.color.color_internals"> Internals and Rationale</link></title>
- <para>
- Constants are defined in an enum, <code><phrase role="identifier">svg_color_constant</phrase></code>,
- in alphabetical order. This facilitates quick lookup of their RGB values
- from an array. Anywhere that a <code><phrase role="identifier">svg_color</phrase></code>
- can be used, a <code><phrase role="identifier">svg_color_constant</phrase></code>
- can be used, as the conversion is implicit.
</para>
- <para>
- All color information is stored in RGB format in a <code><phrase role="identifier">svg_color</phrase></code>
- struct. The rationale for storing information in RGB format is because it
- is precise, and is always representable the exact same way. Storing a floating
- point percentage introduces the possibility of rounding error, which I would
- like to avoid at all costs.
- </para>
- </section>
+ </note>
+ <anchor id="svg_plot.color.internals_and_rationale"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.color.internals_and_rationale">Internals and Rationale</link>
+ </bridgehead>
+ <para>
+ Constants are defined in an enum, <code><phrase role="identifier">svg_color_constant</phrase></code>,
+ in alphabetical order. This facilitates quick lookup of their RGB values from
+ an array. Anywhere that a <code><phrase role="identifier">svg_color</phrase></code>
+ can be used, a <code><phrase role="identifier">svg_color_constant</phrase></code>
+ can be used, as the conversion is implicit.
+ </para>
+ <para>
+ All color information is stored in RGB format in a <code><phrase role="identifier">svg_color</phrase></code>
+ struct. The rationale for storing information in RGB format is because it is
+ precise, and is always representable the exact same way. Storing a floating
+ point percentage introduces the possibility of rounding error, which I would
+ like to avoid at all costs.
+ </para>
</section>
<section id="svg_plot.tutorial_code_1d_simple">
- <title><link linkend="svg_plot.tutorial_code_1d_simple"> Tutorial: 1D Simple
- Program</link></title>
+ <title><link linkend="svg_plot.tutorial_code_1d_simple"> Tutorial: 1D</link></title>
<section id="svg_plot.tutorial_code_1d_simple.tutorial_code_1d_example">
<title><link linkend="svg_plot.tutorial_code_1d_simple.tutorial_code_1d_example">
- Code Example</link></title>
+ Simple Example</link></title>
<programlisting>
<phrase role="preprocessor">#include</phrase> <phrase role="special"><</phrase><phrase role="identifier">boost</phrase><phrase role="special">/</phrase><phrase role="identifier">svg_plot</phrase><phrase role="special">/</phrase><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">hpp</phrase><phrase role="special">></phrase>
<phrase role="preprocessor">#include</phrase> <phrase role="special"><</phrase><phrase role="identifier">vector</phrase><phrase role="special">></phrase>
@@ -375,9 +368,6 @@
<phrase role="keyword">return</phrase> <phrase role="number">0</phrase><phrase role="special">;</phrase>
<phrase role="special">}</phrase>
</programlisting>
- </section>
- <section id="svg_plot.tutorial_code_1d_simple.1d_simple_image">
- <title><link linkend="svg_plot.tutorial_code_1d_simple.1d_simple_image"> Image</link></title>
<para>
<inlinemediaobject><imageobject><imagedata fileref="images/1d_simple.png"></imagedata></imageobject>
<textobject>
@@ -385,10 +375,11 @@
</textobject>
</inlinemediaobject>
</para>
- </section>
- <section id="svg_plot.tutorial_code_1d_simple.tutorial_syntax_explanation">
- <title><link linkend="svg_plot.tutorial_code_1d_simple.tutorial_syntax_explanation">
- A note on syntax</link></title>
+ <anchor id="svg_plot.tutorial_code_1d_simple.tutorial_code_1d_example.a_note_on_syntax"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.tutorial_code_1d_simple.tutorial_code_1d_example.a_note_on_syntax">A
+ Note On Syntax</link>
+ </bridgehead>
<para>
The syntax "<code><phrase role="identifier">my_plot</phrase><phrase
role="special">.</phrase><phrase role="identifier">title</phrase><phrase
@@ -419,10 +410,11 @@
In the long run, I think you will find that my choice helps organize the
code a little better!
</para>
- </section>
- <section id="svg_plot.tutorial_code_1d_simple.tutorial_simple_exam">
- <title><link linkend="svg_plot.tutorial_code_1d_simple.tutorial_simple_exam">
- Basic Example Breakdown</link></title>
+ <anchor id="svg_plot.tutorial_code_1d_simple.tutorial_code_1d_example.basic_example_breakdown"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.tutorial_code_1d_simple.tutorial_code_1d_example.basic_example_breakdown">Basic
+ Example Breakdown</link>
+ </bridgehead>
<para>
Let's examine what this does.
</para>
@@ -482,10 +474,9 @@
This writes our plot to the file "simple.svg".
</para>
</section>
- </section>
- <section id="svg_plot.full_1d_layout">
- <title><link linkend="svg_plot.full_1d_layout"> Tutorial: 1D Full Layout Example</link></title>
-
+ <section id="svg_plot.tutorial_code_1d_simple.full_1d_layout">
+ <title><link linkend="svg_plot.tutorial_code_1d_simple.full_1d_layout"> Tutorial:
+ 1D Full Layout Example</link></title>
<programlisting>
<phrase role="preprocessor">#include</phrase> <phrase role="special"><</phrase><phrase role="identifier">boost</phrase><phrase role="special">/</phrase><phrase role="identifier">svg_plot</phrase><phrase role="special">/</phrase><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">hpp</phrase><phrase role="special">></phrase>
<phrase role="preprocessor">#include</phrase> <phrase role="special"><</phrase><phrase role="identifier">vector</phrase><phrase role="special">></phrase>
@@ -570,24 +561,27 @@
<phrase role="keyword">return</phrase> <phrase role="number">0</phrase><phrase role="special">;</phrase>
<phrase role="special">}</phrase>
</programlisting>
- <para>
- This produces the following output:
- </para>
- <para>
- <inlinemediaobject><imageobject><imagedata fileref="images/1d_complex.png"></imagedata></imageobject>
- <textobject>
- <phrase>1d_complex</phrase>
- </textobject>
- </inlinemediaobject>
- </para>
- <para>
- A little bit of color customization goes a long way!
- </para>
- </section>
- <section id="svg_plot.1d_special">
- <title><link linkend="svg_plot.1d_special"> Tutorial: 1D Special Features</link></title>
- <section id="svg_plot.1d_special.x_axis_grid">
- <title><link linkend="svg_plot.1d_special.x_axis_grid"> X Axis Grid Lines</link></title>
+ <para>
+ This produces the following output:
+ </para>
+ <para>
+ <inlinemediaobject><imageobject><imagedata fileref="images/1d_complex.png"></imagedata></imageobject>
+ <textobject>
+ <phrase>1d_complex</phrase>
+ </textobject>
+ </inlinemediaobject>
+ </para>
+ <para>
+ A little bit of color customization goes a long way!
+ </para>
+ </section>
+ <section id="svg_plot.tutorial_code_1d_simple.1d_special">
+ <title><link linkend="svg_plot.tutorial_code_1d_simple.1d_special"> Tutorial:
+ 1D Special Features</link></title> <anchor id="svg_plot.tutorial_code_1d_simple.1d_special.x_axis_grid_lines"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.tutorial_code_1d_simple.1d_special.x_axis_grid_lines">X
+ Axis Grid Lines</link>
+ </bridgehead>
<para>
If you would like grid lines that go across the graph, you can make the following
call to <code><phrase role="identifier">svg_1d_plot</phrase></code>:
@@ -615,10 +609,11 @@
</textobject>
</inlinemediaobject>
</para>
- </section>
- <section id="svg_plot.1d_special.x_axis_external_style">
- <title><link linkend="svg_plot.1d_special.x_axis_external_style"> X Axis External
- Style</link></title>
+ <anchor id="svg_plot.tutorial_code_1d_simple.1d_special.x_axis_external_style"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.tutorial_code_1d_simple.1d_special.x_axis_external_style">X
+ Axis External Style</link>
+ </bridgehead>
<para>
For an alternate way to display a regular axis, you can use an external style:
</para>
@@ -652,8 +647,7 @@
</section>
</section>
<section id="svg_plot.tutorial_2d_code_simple">
- <title><link linkend="svg_plot.tutorial_2d_code_simple"> Tutorial: Simple 2D
- Program</link></title>
+ <title><link linkend="svg_plot.tutorial_2d_code_simple"> Tutorial: 2D</link></title>
<section id="svg_plot.tutorial_2d_code_simple.2d_simple_code_example">
<title><link linkend="svg_plot.tutorial_2d_code_simple.2d_simple_code_example">
Simple Code Example</link></title>
@@ -691,10 +685,11 @@
<phrase role="keyword">return</phrase> <phrase role="number">0</phrase><phrase role="special">;</phrase>
<phrase role="special">}</phrase>
</programlisting>
- </section>
- <section id="svg_plot.tutorial_2d_code_simple.2d_simple_image">
- <title><link linkend="svg_plot.tutorial_2d_code_simple.2d_simple_image"> Simple
- Image</link></title>
+ <anchor id="svg_plot.tutorial_2d_code_simple.2d_simple_code_example.resulting_image"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.tutorial_2d_code_simple.2d_simple_code_example.resulting_image">Resulting
+ Image</link>
+ </bridgehead>
<para>
<inlinemediaobject><imageobject><imagedata fileref="images/2d_simple.png"></imagedata></imageobject>
<textobject>
@@ -702,10 +697,11 @@
</textobject>
</inlinemediaobject>
</para>
- </section>
- <section id="svg_plot.tutorial_2d_code_simple.tutorial_simple_exam">
- <title><link linkend="svg_plot.tutorial_2d_code_simple.tutorial_simple_exam">
- Basic Example Breakdown</link></title>
+ <anchor id="svg_plot.tutorial_2d_code_simple.2d_simple_code_example.basic_example_breakdown"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.tutorial_2d_code_simple.2d_simple_code_example.basic_example_breakdown">Basic
+ Example Breakdown</link>
+ </bridgehead>
<para>
Let's examine what this does.
</para>
@@ -775,10 +771,9 @@
This writes our plot to the file "simple_2d.svg".
</para>
</section>
- </section>
- <section id="svg_plot.full_2d_layout">
- <title><link linkend="svg_plot.full_2d_layout"> Tutorial: Full Layout Example</link></title>
-
+ <section id="svg_plot.tutorial_2d_code_simple.full_2d_layout">
+ <title><link linkend="svg_plot.tutorial_2d_code_simple.full_2d_layout"> Tutorial:
+ Full Layout Example</link></title>
<programlisting>
<phrase role="preprocessor">#include</phrase> <phrase role="special"><</phrase><phrase role="identifier">boost</phrase><phrase role="special">/</phrase><phrase role="identifier">svg_plot</phrase><phrase role="special">/</phrase><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">hpp</phrase><phrase role="special">></phrase>
<phrase role="preprocessor">#include</phrase> <phrase role="special"><</phrase><phrase role="identifier">map</phrase><phrase role="special">></phrase>
@@ -868,24 +863,26 @@
<phrase role="keyword">return</phrase> <phrase role="number">0</phrase><phrase role="special">;</phrase>
<phrase role="special">}</phrase>
</programlisting>
- <para>
- This produces the following output:
- </para>
- <para>
- <inlinemediaobject><imageobject><imagedata fileref="images/2d_full.png"></imagedata></imageobject>
- <textobject>
- <phrase>2d_full</phrase>
- </textobject>
- </inlinemediaobject>
- </para>
- <para>
- A little bit of color customization goes a long way!
- </para>
- </section>
- <section id="svg_plot.2d_special">
- <title><link linkend="svg_plot.2d_special"> Tutorial: 2D Special Features</link></title>
- <section id="svg_plot.2d_special.y_grid_lines">
- <title><link linkend="svg_plot.2d_special.y_grid_lines"> Y Axis Grid Lines</link></title>
+ <para>
+ This produces the following output:
+ </para>
+ <para>
+ <inlinemediaobject><imageobject><imagedata fileref="images/2d_full.png"></imagedata></imageobject>
+ <textobject>
+ <phrase>2d_full</phrase>
+ </textobject>
+ </inlinemediaobject>
+ </para>
+ <para>
+ A little bit of color customization goes a long way!
+ </para>
+ </section>
+ <section id="svg_plot.tutorial_2d_code_simple.2d_special">
+ <title><link linkend="svg_plot.tutorial_2d_code_simple.2d_special"> Tutorial:
+ 2D Special Features</link></title>
+ <para>
+ [header Y Axis Grid Lines]
+ </para>
<para>
If you would like grid lines that go across the graph, you can make the following
call to <code><phrase role="identifier">svg_1d_plot</phrase></code>:
@@ -913,10 +910,9 @@
</textobject>
</inlinemediaobject>
</para>
- </section>
- <section id="svg_plot.2d_special.external_y_axis">
- <title><link linkend="svg_plot.2d_special.external_y_axis"> External Y Axis
- Style</link></title>
+ <para>
+ [header External Y Axis Style]
+ </para>
<para>
For an alternate way to display a regular axis, you can use an external style:
</para>
@@ -936,10 +932,9 @@
</para>
</para>
</important>
- </section>
- <section id="svg_plot.2d_special.fill_axis_plot">
- <title><link linkend="svg_plot.2d_special.fill_axis_plot"> Fill the area between
- the plot and the axis</link></title>
+ <para>
+ [header Fill the area between the plot and the axis]
+ </para>
<para>
When there is a call to the plot() method, define <code><phrase role="identifier">_area_fill_color</phrase></code>
</para>
@@ -960,9 +955,9 @@
</textobject>
</inlinemediaobject>
</para>
- </section>
- <section id="svg_plot.2d_special.curve_interpolation">
- <title><link linkend="svg_plot.2d_special.curve_interpolation"> Curve Interpolation</link></title>
+ <para>
+ [header Curve Interpolation]
+ </para>
<para>
If you would like an interpolated curve shown over your data, simply use
the following command:
@@ -997,6 +992,156 @@
</warning>
</section>
</section>
+ <section id="svg_plot.svg_boxplot_tutorial">
+ <title><link linkend="svg_plot.svg_boxplot_tutorial"> Boxplot</link></title>
+ <section id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple">
+ <title><link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple">
+ Simple Example</link></title>
+<programlisting>
+<phrase role="comment">// Functions we are using to simulate distributions.
+</phrase><phrase role="keyword">double</phrase> <phrase role="identifier">f</phrase><phrase role="special">(</phrase><phrase role="keyword">double</phrase> <phrase role="identifier">x</phrase><phrase role="special">)</phrase>
+<phrase role="special">{</phrase>
+ <phrase role="keyword">return</phrase> <phrase role="number">50</phrase> <phrase role="special">/</phrase> <phrase role="identifier">x</phrase><phrase role="special">;</phrase>
+<phrase role="special">}</phrase>
+
+<phrase role="keyword">double</phrase> <phrase role="identifier">g</phrase><phrase role="special">(</phrase><phrase role="keyword">double</phrase> <phrase role="identifier">x</phrase><phrase role="special">)</phrase>
+<phrase role="special">{</phrase>
+ <phrase role="keyword">return</phrase> <phrase role="number">40</phrase> <phrase role="special">+</phrase> <phrase role="number">25</phrase> <phrase role="special">*</phrase> <phrase role="identifier">sin</phrase><phrase role="special">(</phrase><phrase role="identifier">x</phrase> <phrase role="special">*</phrase> <phrase role="number">50</phrase><phrase role="special">);</phrase>
+<phrase role="special">}</phrase>
+
+<phrase role="keyword">int</phrase> <phrase role="identifier">main</phrase><phrase role="special">()</phrase>
+<phrase role="special">{</phrase>
+ <phrase role="keyword">using</phrase> <phrase role="keyword">namespace</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">svg</phrase><phrase role="special">;</phrase>
+
+ <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">vector</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">></phrase> <phrase role="identifier">data1</phrase><phrase role="special">,</phrase> <phrase role="identifier">data2</phrase><phrase role="special">;</phrase>
+
+ <phrase role="comment">// Fill our vectors;
+</phrase> <phrase role="keyword">for</phrase><phrase role="special">(</phrase><phrase role="keyword">double</phrase> <phrase role="identifier">i</phrase> <phrase role="special">=</phrase> <phrase role="special">.</phrase><phrase role="number">1</phrase><phrase role="special">;</phrase> <phrase role="identifier">i</phrase> <phrase role="special"><</phrase> <phrase role="number">10</phrase><phrase role="special">;</phrase> <phrase role="identifier">i</phrase><phrase role="special">+=.</phrase><phrase role="number">1</phrase><phrase role="special">)</phrase>
+ <phrase role="special">{</phrase>
+ <phrase role="identifier">data1</phrase><phrase role="special">.</phrase><phrase role="identifier">push_back</phrase><phrase role="special">(</phrase><phrase role="identifier">f</phrase><phrase role="special">(</phrase><phrase role="identifier">i</phrase><phrase role="special">));</phrase>
+ <phrase role="identifier">data2</phrase><phrase role="special">.</phrase><phrase role="identifier">push_back</phrase><phrase role="special">(</phrase><phrase role="identifier">g</phrase><phrase role="special">(</phrase><phrase role="identifier">i</phrase><phrase role="special">));</phrase>
+ <phrase role="special">}</phrase>
+
+ <phrase role="comment">// Initialize a new plot.
+</phrase> <phrase role="identifier">svg_boxplot</phrase> <phrase role="identifier">my_plot</phrase><phrase role="special">;</phrase>
+
+ <phrase role="comment">// Color information.
+</phrase> <phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">background_border_color</phrase><phrase role="special">(</phrase><phrase role="identifier">black</phrase><phrase role="special">);</phrase>
+
+ <phrase role="comment">// String information.
+</phrase> <phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">title</phrase><phrase role="special">(</phrase><phrase role="string">"Boxplots of Common Functions"</phrase><phrase role="special">)</phrase>
+ <phrase role="special">.</phrase><phrase role="identifier">x_label</phrase><phrase role="special">(</phrase><phrase role="string">"Functions"</phrase><phrase role="special">)</phrase>
+ <phrase role="special">.</phrase><phrase role="identifier">y_label</phrase><phrase role="special">(</phrase><phrase role="string">"Population Size"</phrase><phrase role="special">);</phrase>
+
+ <phrase role="comment">// Axis information.
+</phrase> <phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">y_range</phrase><phrase role="special">(</phrase><phrase role="number">0</phrase><phrase role="special">,</phrase> <phrase role="number">100</phrase><phrase role="special">)</phrase>
+ <phrase role="special">.</phrase><phrase role="identifier">y_minor_tick_length</phrase><phrase role="special">(</phrase><phrase role="number">20</phrase><phrase role="special">)</phrase>
+ <phrase role="special">.</phrase><phrase role="identifier">y_major_interval</phrase><phrase role="special">(</phrase><phrase role="number">20</phrase><phrase role="special">);</phrase>
+
+ <phrase role="comment">// Write data.
+</phrase> <phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">data1</phrase><phrase role="special">,</phrase> <phrase role="string">"[50 / x]"</phrase><phrase role="special">);</phrase>
+ <phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">data2</phrase><phrase role="special">,</phrase> <phrase role="string">"[40 + 25 * sin(x * 50)]"</phrase><phrase role="special">);</phrase>
+
+ <phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase role="string">"boxplot_simple.svg"</phrase><phrase role="special">);</phrase>
+ <phrase role="keyword">return</phrase> <phrase role="number">0</phrase><phrase role="special">;</phrase>
+<phrase role="special">}</phrase>
+</programlisting>
+ <anchor id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.image_produced"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.image_produced">Image
+ Produced</link>
+ </bridgehead>
+ <para>
+ <inlinemediaobject><imageobject><imagedata fileref="images/boxplot_simple.png"></imagedata></imageobject>
+ <textobject>
+ <phrase>boxplot_simple</phrase>
+ </textobject>
+ </inlinemediaobject>
+ </para>
+ <anchor id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.basic_example_breakdown"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.basic_example_breakdown">Basic
+ Example Breakdown</link>
+ </bridgehead>
+ <para>
+ Let's examine what this does.
+ </para>
+ <anchor id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.initializing_a_new_boxplot"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.initializing_a_new_boxplot">Initializing
+ a new boxplot</link>
+ </bridgehead>
+ <para>
+ This initializes a new boxplot. This also sets many of the default values.
+ </para>
+
+<programlisting>
+<phrase role="identifier">svg_boxplot</phrase> <phrase role="identifier">my_plot</phrase><phrase role="special">;</phrase>
+</programlisting>
+ <anchor id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.setting_a_color"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.setting_a_color">Setting
+ a color</link>
+ </bridgehead>
+ <para>
+ This sets the border color of the entire image to black.
+ </para>
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">background_border_color</phrase><phrase role="special">(</phrase><phrase role="identifier">black</phrase><phrase role="special">);</phrase>
+</programlisting>
+ <anchor id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.setting_strings_in_the_plot"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.setting_strings_in_the_plot">Setting
+ strings in the plot</link>
+ </bridgehead>
+ <para>
+ The following code sets the title that appears at the top of the graph, the
+ label that appears at the bottom to name the X axis, and the label that appears
+ to the left to name the Y axis.
+ </para>
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">title</phrase><phrase role="special">(</phrase><phrase role="string">"Boxplots of Common Functions"</phrase><phrase role="special">)</phrase>
+ <phrase role="special">.</phrase><phrase role="identifier">x_label</phrase><phrase role="special">(</phrase><phrase role="string">"Functions"</phrase><phrase role="special">)</phrase>
+ <phrase role="special">.</phrase><phrase role="identifier">y_label</phrase><phrase role="special">(</phrase><phrase role="string">"Population Size"</phrase><phrase role="special">);</phrase>
+</programlisting>
+ <anchor id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.setting_axis_information"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.setting_axis_information">Setting
+ axis information</link>
+ </bridgehead>
+ <para>
+ Axis information for the X axis is very limited, as the coordinate system
+ for the X axis is discrete, based only on the number of box-and-whisker plots
+ that appear in the same boxplot.
+ </para>
+ <para>
+ Axis information for the Y axis, however, is customizable much in the same
+ way that that axis information is customizable for the 1 and 2 dimensional
+ graphs. // Axis information. my_plot.y_range(0, 100) .y_minor_tick_length(20)
+ .y_major_interval(20);
+ </para>
+ <anchor id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.writing_to_a_file"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_simple.writing_to_a_file">Writing
+ to a file</link>
+ </bridgehead>
+ <para>
+ This writes our plot to the file "simple.svg".
+ </para>
+ <para>
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase role="string">"boxplot_simple.svg"</phrase><phrase role="special">);</phrase>
+</programlisting>
+ </para>
+ </section>
+ <section id="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_full_layout">
+ <title><link linkend="svg_plot.svg_boxplot_tutorial.svg_boxplot_tutorial_full_layout">
+ Full Layout</link></title>
+ </section>
+ </section>
<section id="svg_plot.behavior">
<title><link linkend="svg_plot.behavior"> Behavior</link></title>
<section id="svg_plot.behavior.behavior_limits">
@@ -1013,53 +1158,48 @@
<phrase role="special">=</phrase> <phrase role="identifier">whitesmoke</phrase></code>.
This will become customizable.
</para>
- <section id="svg_plot.behavior.behavior_limits.behavior_NaN">
- <title><link linkend="svg_plot.behavior.behavior_limits.behavior_NaN"> NaN</link></title>
- <para>
- Any double precision floating point numbers that return a nonzero value
- for the function <code><phrase role="identifier">_isnan</phrase><phrase
- role="special">(</phrase><phrase role="keyword">double</phrase><phrase
- role="special">)</phrase></code> is considered to be a NaN value. When
- plotted, the number will appear in the user-defined coordinates as 0.
- </para>
- </section>
- <section id="svg_plot.behavior.behavior_limits.behavior_infinity">
- <title><link linkend="svg_plot.behavior.behavior_limits.behavior_infinity">
- Infinity</link></title>
- <para>
- Any double precision floating point number that is equal to either of the
- following is considered to be Infinity:
- </para>
-
+ <para>
+ [header NaN] Any double precision floating point numbers that return a nonzero
+ value for the function <code><phrase role="identifier">_isnan</phrase><phrase
+ role="special">(</phrase><phrase role="keyword">double</phrase><phrase role="special">)</phrase></code>
+ is considered to be a NaN value. When plotted, the number will appear in
+ the user-defined coordinates as 0.
+ </para>
+ <para>
+ [header Infinity]
+ </para>
+ <para>
+ Any double precision floating point number that is equal to either of the
+ following is considered to be Infinity:
+ </para>
+
<programlisting>
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">numeric_limits</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">>::</phrase><phrase role="identifier">max</phrase><phrase role="special">()</phrase>
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">numeric_limits</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">>::</phrase><phrase role="identifier">infinity</phrase><phrase role="special">()</phrase>
</programlisting>
- <para>
- When plotted, these values will appear at the top of your plot window.
- If the plot window is not turned on, these points will appear at the top
- of the graph.
- </para>
- </section>
- <section id="svg_plot.behavior.behavior_limits.behavior_neg_infinity">
- <title><link linkend="svg_plot.behavior.behavior_limits.behavior_neg_infinity">
- Negative Infinity</link></title>
- <para>
- Any double precision floating point number that is equal to either of the
- following is considered to be Negative Infinity:
- </para>
-
+ <para>
+ When plotted, these values will appear at the top of your plot window. If
+ the plot window is not turned on, these points will appear at the top of
+ the graph.
+ </para>
+ <para>
+ [header Negative Infinity]
+ </para>
+ <para>
+ Any double precision floating point number that is equal to either of the
+ following is considered to be Negative Infinity:
+ </para>
+
<programlisting>
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">numeric_limits</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">>::</phrase><phrase role="identifier">min</phrase><phrase role="special">()</phrase>
<phrase role="special">-</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">numeric_limits</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">>::</phrase><phrase role="identifier">infinity</phrase><phrase role="special">()</phrase>
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">numeric_limits</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">>::</phrase><phrase role="identifier">denorm_min</phrase><phrase role="special">()</phrase>
</programlisting>
- <para>
- When plotted, these values will appear at the bottom of your plot window.
- If the plot window is not turned on, these points will appear at the bottom
- of the graph.
- </para>
- </section>
+ <para>
+ When plotted, these values will appear at the bottom of your plot window.
+ If the plot window is not turned on, these points will appear at the bottom
+ of the graph.
+ </para>
<para>
Here is an example of numeric limit handling in action:
</para>
@@ -1955,1020 +2095,2688 @@
</table>
</section>
</section>
- <section id="svg_plot.svg_interface">
- <title><link linkend="svg_plot.svg_interface"> SVG Public Interface</link></title>
- <table frame="all"> <title>class svg</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry><entry>
- <para>
- Notes
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- Constructor
- </para>
- </entry><entry>
- <para>
- The default image size is (400, 400)
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">g_element</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">add_g_element</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- Adds a g_element at the root of the document tree. Acts as a <code><phrase
- role="identifier">push_back</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- Returns the <code><phrase role="identifier">g_element</phrase></code>
- that is pushed back. This allows you to do something like the following:
- <code><phrase role="identifier">image</phrase><phrase role="special">.</phrase><phrase
- role="identifier">add_g_element</phrase><phrase role="special">().</phrase><phrase
- role="identifier">line</phrase><phrase role="special">(/**/).</phrase><phrase
- role="identifier">line</phrase><phrase role="special">(/**/).</phrase><phrase
- role="identifier">rect</phrase><phrase role="special">(/**/);</phrase>
- </code> Which adds two lines and a rectangle to the g_element that was
- just created.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">circle</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase> <phrase role="identifier">x</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
- role="identifier">y</phrase><phrase role="special">,</phrase> <phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase>
- <phrase role="identifier">radius</phrase> <phrase role="special">=</phrase>
- <phrase role="number">5</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Adds a point at (x,y) in the root level of the document
- </para>
- </entry><entry>
- <para>
- If the user is calling the circle method, odds are they would prefer
- a real circle instead of a degenerate circle (a point). 5 is as good
- a default as any other, and the user does not likely want a point if
- they are making this call.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">g_element</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">get_g_element</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Gets the g_element at the index specified
- </para>
- </entry><entry>
- <para>
- Gives a runtime error if you specify an index that does not contain a
- <code><phrase role="identifier">g_element</phrase></code>. I am considering
- providing an iterator interface to access these elements.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase>
- <phrase role="identifier">get_x_size</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- Returns the width of the image
- </para>
- </entry><entry>
- <para>
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase>
- <phrase role="identifier">get_y_size</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- Returns the height of the image
- </para>
- </entry><entry>
- <para>
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">image_size</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">unsigned</phrase> <phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the size of the image produced, in pixels
- </para>
- </entry><entry>
- <para>
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">line</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
- role="identifier">y1</phrase><phrase role="special">,</phrase> <phrase
- role="keyword">double</phrase> <phrase role="identifier">x2</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
- role="identifier">y2</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Adds a line from (x1,y1) to (x2,y2) in the root level of the document
- </para>
- </entry><entry>
- <para>
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">path_element</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">path</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- Pushes a <code><phrase role="identifier">path_element</phrase></code>
- to the back of the tree and returns a reference to it. This allows you
- to do the following:
+ <section id="svg_plot.interface">
+ <title><link linkend="svg_plot.interface"> Interface</link></title>
+ <section id="svg_plot.interface.svg_interface">
+ <title><link linkend="svg_plot.interface.svg_interface"> <code><phrase role="identifier">svg</phrase></code>
+ Public Interface</link></title> <table frame="all"> <title>class svg</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry><entry>
+ <para>
+ Notes
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Constructor
+ </para>
+ </entry><entry>
+ <para>
+ The default image size is (400, 400)
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">g_element</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">add_g_element</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Adds a g_element at the root of the document tree. Acts as a <code><phrase
+ role="identifier">push_back</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Returns the <code><phrase role="identifier">g_element</phrase></code>
+ that is pushed back. This allows you to do something like the following:
+ <code><phrase role="identifier">image</phrase><phrase role="special">.</phrase><phrase
+ role="identifier">add_g_element</phrase><phrase role="special">().</phrase><phrase
+ role="identifier">line</phrase><phrase role="special">(/**/).</phrase><phrase
+ role="identifier">line</phrase><phrase role="special">(/**/).</phrase><phrase
+ role="identifier">rect</phrase><phrase role="special">(/**/);</phrase>
+ </code> Which adds two lines and a rectangle to the g_element that
+ was just created.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">circle</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">x</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">y</phrase><phrase role="special">,</phrase> <phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase>
+ <phrase role="identifier">radius</phrase> <phrase role="special">=</phrase>
+ <phrase role="number">5</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Adds a point at (x,y) in the root level of the document
+ </para>
+ </entry><entry>
+ <para>
+ If the user is calling the circle method, odds are they would prefer
+ a real circle instead of a degenerate circle (a point). 5 is as good
+ a default as any other, and the user does not likely want a point if
+ they are making this call.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">g_element</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">get_g_element</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Gets the g_element at the index specified
+ </para>
+ </entry><entry>
+ <para>
+ Gives a runtime error if you specify an index that does not contain
+ a <code><phrase role="identifier">g_element</phrase></code>. I am considering
+ providing an iterator interface to access these elements.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase>
+ <phrase role="identifier">get_x_size</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Returns the width of the image
+ </para>
+ </entry><entry>
+ <para>
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase>
+ <phrase role="identifier">get_y_size</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Returns the height of the image
+ </para>
+ </entry><entry>
+ <para>
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">image_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">unsigned</phrase>
+ <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the size of the image produced, in pixels
+ </para>
+ </entry><entry>
+ <para>
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">line</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">y1</phrase><phrase role="special">,</phrase> <phrase
+ role="keyword">double</phrase> <phrase role="identifier">x2</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">y2</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Adds a line from (x1,y1) to (x2,y2) in the root level of the document
+ </para>
+ </entry><entry>
+ <para>
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">path_element</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">path</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Pushes a <code><phrase role="identifier">path_element</phrase></code>
+ to the back of the tree and returns a reference to it. This allows
+ you to do the following:
+<programlisting>
+<phrase role="identifier">path_element</phrase><phrase role="special">&</phrase> <phrase role="identifier">my_path</phrase> <phrase role="special">=</phrase> <phrase role="identifier">image</phrase><phrase role="special">.</phrase><phrase role="identifier">path</phrase><phrase role="special">();</phrase>
+
+<phrase role="identifier">my_path</phrase><phrase role="special">.</phrase><phrase role="identifier">M</phrase><phrase role="special">(</phrase><phrase role="number">3</phrase><phrase role="special">,</phrase> <phrase role="number">3</phrase><phrase role="special">).</phrase><phrase role="identifier">l</phrase><phrase role="special">(</phrase><phrase role="number">150</phrase><phrase role="special">,</phrase> <phrase role="number">150</phrase><phrase role="special">);</phrase>
+</programlisting>
+ I'm open to suggestions for how to improve this process.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">rect</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">y1</phrase><phrase role="special">,</phrase> <phrase
+ role="keyword">double</phrase> <phrase role="identifier">width</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">height</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Adds a rectangle at point (x1, y1) that has width <code><phrase role="identifier">width</phrase></code>
+ and height <code><phrase role="identifier">height</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">text</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">x</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">y</phrase><phrase role="special">,</phrase> <phrase
+ role="identifier">std</phrase><phrase role="special">::</phrase><phrase
+ role="identifier">string</phrase> <phrase role="identifier">text</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Adds text <code><phrase role="identifier">text</phrase></code> at (x,y)
+ in the root level of the document
+ </para>
+ </entry><entry>
+ <para>
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Writes the document to the file represented by the argument
+ </para>
+ </entry><entry>
+ <para>
+ Opens the file stream itself and tries to call <code><phrase role="identifier">write</phrase><phrase
+ role="special">(</phrase><phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">ostream</phrase><phrase
+ role="special">&)</phrase></code>. Throws <code><phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">runtime_exception</phrase></code>
+ if it can not open the file.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">std</phrase><phrase role="special">::</phrase><phrase
+ role="identifier">ostream</phrase><phrase role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Writes the document to the stream represented by the argument
+ </para>
+ </entry><entry>
+ <para>
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section id="svg_plot.interface.svg_1d_plot_interface">
+ <title><link linkend="svg_plot.interface.svg_1d_plot_interface"> <code><phrase
+ role="identifier">svg_1d_plot</phrase></code> Public Interface</link></title>
+ <table frame="all"> <title>Miscellaneous Functions</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ See the defaults section for further details
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">image_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">unsigned</phrase>
+ <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the size of the image produced, in pixels
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_title_font_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the font size for the legend title
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the string to be used for the title
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_font_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the font size for the title
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Writes the plot to the file passed as a parameter
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">ostream</phrase><phrase role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Writes the plot to a stream passed as a parameter
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Commands</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">axis_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether the axis is on or off
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether the legend is on or off
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">plot_window_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether the plot will be displayed in its own window, or will
+ be "full screen" in the image
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the image title is displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_axis_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the X axis is displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_external_style_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the axis is inside or outside of the plot.
+ Defaults to <code><phrase role="keyword">false</phrase></code>
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether or not the x axis label will show
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_labels_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ sets whether or not the major ticks will be labelled on the x axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_grid_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the major grid on the X axis will be displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_grid_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the minor grid on the X axis will be displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_axis_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the Y axis is displayed
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Colors</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">background_border_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background border color for the legend as <code><phrase role="identifier">col</phrase></code>,
+ an RGB color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background color for the whole image
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background color for the legend as <code><phrase role="identifier">col</phrase></code>,
+ an RGB color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_border_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the border color for the legend as <code><phrase role="identifier">col</phrase></code>,
+ an RGB color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">plot_background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the color of the plot area. Note: this only goes into effect if
+ plot_area(true) has been called
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the title color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_axis_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the lines that form the axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the labels that go along the X axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_grid_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the grid that runs perpindicular to the X axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the major ticks of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_grid_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the minor grid of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the minor ticks of the x-axis
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Axis Definition</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_axis_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the stroke width of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the label of the x-axis. This does not guarantee that it will
+ be shown. You must run <code><phrase role="identifier">x_label_on</phrase><phrase
+ role="special">(</phrase><phrase role="keyword">true</phrase><phrase
+ role="special">)</phrase></code> for that guarantee
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_interval</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the distance (in Cartesian units) between ticks on the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the x-axis major ticks
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the width (in pixels) of the major ticks on the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the x-axis minor tick lengths
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the width (in pixels) of the minor ticks on the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_num_minor_ticks</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the number of minor ticks between each major tick
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_range</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">x2</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the scale of the x axis from x1 to x2. Throws an exception if
+ x2<=x1
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <anchor id="svg_plot.interface.svg_1d_plot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.interface.svg_1d_plot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method">The
+ <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
+ Method</link>
+ </bridgehead>
+ <para>
+ The <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
+ method is defined using Boost.Parameter. As such, it supports a few extra
+ named parameters, as well as a deduced parameter.
+ </para>
+ <table frame="all"> <title>Required parameter</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ ID
+ </para>
+ </entry><entry>
+ <para>
+ Type (* is a wildcard)
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ _container
+ </para>
+ </entry><entry>
+ <para>
+ *
+ </para>
+ </entry><entry>
+ <para>
+ Any object that can return an iterator with begin() and end()
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _title
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase
+ role="identifier">string</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ The name of this series
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Deduced parameter</title>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ ID
+ </para>
+ </entry><entry>
+ <para>
+ Type
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry><entry>
+ <para>
+ Default
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ _fill_color
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">svg_color</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This is the color that shows up inside of the circle that is being
+ drawn
+ </para>
+ </entry><entry>
+ <para>
+ white
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Optional Parameters</title>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ ID
+ </para>
+ </entry><entry>
+ <para>
+ Type
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry><entry>
+ <para>
+ Default
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ _stroke_color
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">svg_color</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ The outline of the circle that is being drawn
+ </para>
+ </entry><entry>
+ <para>
+ black
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _point_style
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">point_shape</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This is the shape of the point. Options currently are between <literal>none</literal>,
+ <literal>circle</literal>, and <literal>square</literal>.
+ </para>
+ </entry><entry>
+ <para>
+ circle
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _size
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This is the height/width of the circle and square.
+ </para>
+ </entry><entry>
+ <para>
+ 10
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _x_functor
+ </para>
+ </entry><entry>
+ <para>
+ *
+ </para>
+ </entry><entry>
+ <para>
+ A class or that contains a conversion function. You will not have to
+ worry about this, unless you are trying to accomplish stuff like plotting
+ a vector of humans. For example:
+<programlisting>
+<phrase role="keyword">class</phrase> <phrase role="identifier">my_functor</phrase>
+<phrase role="special">{</phrase>
+ <phrase role="identifier">typdef</phrase> <phrase role="keyword">double</phrase> <phrase role="identifier">result_type</phrase><phrase role="special">;</phrase>
+
+ <phrase role="keyword">double</phrase> <phrase role="keyword">operator</phrase><phrase role="special">()(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">human</phrase><phrase role="special">&</phrase> <phrase role="identifier">_hum</phrase><phrase role="special">)</phrase>
+ <phrase role="special">{</phrase>
+ <phrase role="keyword">return</phrase> <phrase role="special">(</phrase><phrase role="keyword">double</phrase><phrase role="special">)(</phrase><phrase role="identifier">_hum</phrase><phrase role="special">.</phrase><phrase role="identifier">age</phrase><phrase role="special">());</phrase>
+ <phrase role="special">}</phrase>
+<phrase role="special">}</phrase>
+
+<phrase role="comment">// snip
+</phrase>
+<phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_plot</phrase><phrase role="special">,</phrase> <phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">_x_functor</phrase> <phrase role="special">=</phrase> <phrase role="identifier">my_functor</phrase><phrase role="special">());</phrase>
+</programlisting>
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">boost_default_convert</phrase></code>
+ is sufficient in all cases where the data stored in the container can
+ be directly casted to a double
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Here are some examples of correct uses:
+ </para>
+ <anchor id="svg_plot.interface.svg_1d_plot_interface.using_fill_and_stroke_colors"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.interface.svg_1d_plot_interface.using_fill_and_stroke_colors">Using
+ fill and stroke colors</link>
+ </bridgehead>
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
+</programlisting>
+ <para>
+ This has the same effect as the following:
+ </para>
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
+</programlisting>
+ <para>
+ and also the same effect as:
+ </para>
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">);</phrase>
+</programlisting>
+ <para>
+ Since _fill_color is a deduced parameter, when two svg_colors are used in
+ the same function call, they are always inferred in the following order:
+ (fill, stroke).
+ </para>
+ </section>
+ <section id="svg_plot.interface.svg_2d_plot_interface">
+ <title><link linkend="svg_plot.interface.svg_2d_plot_interface"> <code><phrase
+ role="identifier">svg_2d_plot</phrase></code> Public Interface</link></title>
+ <table frame="all"> <title>Miscellaneous</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ See the defaults section for further details
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">image_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">unsigned</phrase>
+ <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the size of the image produced, in pixels
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the string to be used for the title
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_font_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the font size for the title
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_title_font_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the font size for the legend title
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Commands</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">axis_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether the axis is on or off
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether the legend is on or off
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">plot_window_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether the plot will be displayed in its own window, or will
+ be "full screen" in the image
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the image title is displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether or not the X axis label will show
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_grid_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the major grid on the X axis will be displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_labels_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ sets whether or not the major ticks will be labelled on the x axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_grid_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the minor grid on the X axis will be displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_label_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether or not the Y axis label will show
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_grid_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the major grid on the Y axis will be displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_labels_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ sets whether or not the major ticks will be labelled on the Y axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_minor_grid_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the minor grid on the Y axis will be displayed
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Colors</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the title color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background color for the whole image
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background color for the legend as <code><phrase role="identifier">col</phrase></code>,
+ an RGB color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">legend_border_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the border color for the legend as <code><phrase role="identifier">col</phrase></code>,
+ an RGB color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">background_border_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background border color for the legend as <code><phrase role="identifier">col</phrase></code>,
+ an RGB color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">plot_background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the color of the plot area. Note: this only goes into effect if
+ plot_area(true) has been called
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_axis_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the lines that form the axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the labels that go along the X axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the major ticks of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_grid_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the grid that runs perpindicular to the X axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the minor ticks of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_axis_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the lines that form the Y axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_label_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the labels that go along the X axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the major ticks of the Y-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_grid_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the grid that runs perpindicular to the Y axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_minor_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the minor ticks of the Y-axis
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Axis Information</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_axis_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the stroke width of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the label of the x-axis. This does not guarantee that it will
+ be shown. You must run <code><phrase role="identifier">x_label</phrase><phrase
+ role="special">(</phrase><phrase role="keyword">true</phrase><phrase
+ role="special">)</phrase></code> for that guarantee
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_interval</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the distance (in Cartesian units) between ticks on the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the x-axis major ticks
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_major_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the width (in pixels) of the major ticks on the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_tick</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the x-axis minor ticks
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the x-axis minor tick lengths
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_minor_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the width (in pixels) of the minor ticks on the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_num_minor_ticks</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the number of minor ticks between each major tick
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_range</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">x2</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the scale of the x axis from x1 to x2. Throws an exception if
+ x2<=x1
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_axis_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the stroke width of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_label</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the label of the x-axis. This does not guarantee that it will
+ be shown. You must run <code><phrase role="identifier">x_label</phrase><phrase
+ role="special">(</phrase><phrase role="keyword">true</phrase><phrase
+ role="special">)</phrase></code> for that guarantee
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the distance (in Cartesian units) between ticks on the Y axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the Y axis major ticks
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the width (in pixels) of the major ticks on the Y axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_minor_tick</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the Y axis minor ticks
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the length (in pixels) of the Y axis minor tick lengths
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_minor_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the width (in pixels) of the minor ticks on the Y axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_num_minor_ticks</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the number of minor ticks between each major tick
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_scale</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">y1</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">y2</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the scale of the Y axis from y1 to y2. Throws an exception if
+ y2<=y1
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ (Note: Getters omitted for now)
+ </para>
+ <para>
+ [header The <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
+ Method] The <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
+ method is defined using Boost.Parameter. As such, it supports a few extra
+ named parameters, as well as a deduced parameter.
+ </para>
+ <table frame="all"> <title>Required parameter</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ ID
+ </para>
+ </entry><entry>
+ <para>
+ Type (* is a wildcard)
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ _container
+ </para>
+ </entry><entry>
+ <para>
+ *
+ </para>
+ </entry><entry>
+ <para>
+ Any object that can return an iterator with begin() and end()
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _title
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase
+ role="identifier">string</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ The name of this series
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Deduced parameter</title>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ ID
+ </para>
+ </entry><entry>
+ <para>
+ Type
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry><entry>
+ <para>
+ Default
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ _fill_color
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">svg_color</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This is the color that shows up inside of the circle that is being
+ drawn
+ </para>
+ </entry><entry>
+ <para>
+ white
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Optional Parameters</title>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ ID
+ </para>
+ </entry><entry>
+ <para>
+ Type
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry><entry>
+ <para>
+ Default
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ _bezier_on
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="keyword">bool</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This determines whether or not Bézier curve interpolation will be
+ applied to the plot lines. It is important to note that the curve interpolation
+ is still in its infancy, and should only be used with reasonably nice
+ data sets
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _line_on
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="keyword">bool</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This determines whether or not there are lines drawn between data points.
+ </para>
+ </entry><entry>
+ <para>
+ false
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _line_color
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="keyword">bool</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This determines the color of the lines between data points
+ </para>
+ </entry><entry>
+ <para>
+ black
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _area_fill_color
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">svg_color</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Defining this enables the "Fill Area Under Axis" feature.
+ the color you define will be the fill color between a line and the
+ area under the axis. This only takes effect if <code><phrase role="identifier">_line_on</phrase>
+ <phrase role="special">=</phrase> <phrase role="keyword">true</phrase></code>
+ is called.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _stroke_color
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">svg_color</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ The outline of the circle that is being drawn
+ </para>
+ </entry><entry>
+ <para>
+ black
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _point_style
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">point_shape</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This is the shape of the point. Options currently are between <literal>none</literal>,
+ <literal>circle</literal>, and <literal>square</literal>.
+ </para>
+ </entry><entry>
+ <para>
+ circle
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _size
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ This is the height/width of the circle and square.
+ </para>
+ </entry><entry>
+ <para>
+ 10
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ _x_functor
+ </para>
+ </entry><entry>
+ <para>
+ *
+ </para>
+ </entry><entry>
+ <para>
+ A class or that contains a conversion function. You will not have to
+ worry about this, unless you are trying to accomplish stuff like plotting
+ a vector of humans. For example:
+<programlisting>
+<phrase role="keyword">class</phrase> <phrase role="identifier">my_functor</phrase>
+<phrase role="special">{</phrase>
+ <phrase role="identifier">typdef</phrase> <phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">,</phrase> <phrase role="keyword">double</phrase><phrase role="special">></phrase> <phrase role="identifier">result_type</phrase><phrase role="special">;</phrase>
+
+ <phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">,</phrase> <phrase role="keyword">double</phrase><phrase role="special">></phrase> <phrase role="keyword">operator</phrase><phrase role="special">()(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">human</phrase><phrase role="special">&</phrase> <phrase role="identifier">_hum</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase>
+ <phrase role="special">{</phrase>
+ <phrase role="keyword">return</phrase> <phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">,</phrase> <phrase role="keyword">double</phrase><phrase role="special">>(</phrase><phrase role="identifier">i</phrase><phrase role="special">,</phrase> <phrase role="identifier">_hum</phrase><phrase role="special">.</phrase><phrase role="identifier">age</phrase><phrase role="special">());</phrase>
+ <phrase role="special">}</phrase>
+<phrase role="special">}</phrase>
+
+<phrase role="comment">// snip
+</phrase>
+<phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_plot</phrase><phrase role="special">,</phrase> <phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">_x_functor</phrase> <phrase role="special">=</phrase> <phrase role="identifier">my_functor</phrase><phrase role="special">());</phrase>
+</programlisting>
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">boost_default_2d_convert</phrase></code>
+ (the default) is sufficient in all cases where the data stored in the
+ container can be directly casted to a double
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Here are some examples of correct uses:
+ </para>
+ <anchor id="svg_plot.interface.svg_2d_plot_interface.using_fill_and_stroke_colors"/>
+ <bridgehead renderas="sect3">
+ <link linkend="svg_plot.interface.svg_2d_plot_interface.using_fill_and_stroke_colors">Using
+ fill and stroke colors</link>
+ </bridgehead>
+
<programlisting>
-<phrase role="identifier">path_element</phrase><phrase role="special">&</phrase> <phrase role="identifier">my_path</phrase> <phrase role="special">=</phrase> <phrase role="identifier">image</phrase><phrase role="special">.</phrase><phrase role="identifier">path</phrase><phrase role="special">();</phrase>
-
-<phrase role="identifier">my_path</phrase><phrase role="special">.</phrase><phrase role="identifier">M</phrase><phrase role="special">(</phrase><phrase role="number">3</phrase><phrase role="special">,</phrase> <phrase role="number">3</phrase><phrase role="special">).</phrase><phrase role="identifier">l</phrase><phrase role="special">(</phrase><phrase role="number">150</phrase><phrase role="special">,</phrase> <phrase role="number">150</phrase><phrase role="special">);</phrase>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
</programlisting>
- I'm open to suggestions for how to improve this process.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">rect</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
- role="identifier">y1</phrase><phrase role="special">,</phrase> <phrase
- role="keyword">double</phrase> <phrase role="identifier">width</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
- role="identifier">height</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Adds a rectangle at point (x1, y1) that has width <code><phrase role="identifier">width</phrase></code>
- and height <code><phrase role="identifier">height</phrase></code>
- </para>
- </entry><entry>
- <para>
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">text</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase> <phrase role="identifier">x</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
- role="identifier">y</phrase><phrase role="special">,</phrase> <phrase
- role="identifier">std</phrase><phrase role="special">::</phrase><phrase
- role="identifier">string</phrase> <phrase role="identifier">text</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Adds text <code><phrase role="identifier">text</phrase></code> at (x,y)
- in the root level of the document
- </para>
- </entry><entry>
- <para>
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">string</phrase><phrase
- role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Writes the document to the file represented by the argument
- </para>
- </entry><entry>
- <para>
- Opens the file stream itself and tries to call <code><phrase role="identifier">write</phrase><phrase
- role="special">(</phrase><phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">ostream</phrase><phrase
- role="special">&)</phrase></code>. Throws <code><phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">runtime_exception</phrase></code>
- if it can not open the file.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
- role="identifier">std</phrase><phrase role="special">::</phrase><phrase
- role="identifier">ostream</phrase><phrase role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Writes the document to the stream represented by the argument
- </para>
- </entry><entry>
- <para>
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
- <section id="svg_plot.svg_1d_plot_interface">
- <title><link linkend="svg_plot.svg_1d_plot_interface"> <code><phrase role="identifier">svg_1d_plot</phrase></code>
- Public Interface</link></title>
- <section id="svg_plot.svg_1d_plot_interface.svg_1d_inter_misc">
- <title><link linkend="svg_plot.svg_1d_plot_interface.svg_1d_inter_misc"> Miscellaneous
- Functions</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- See the defaults section for further details
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">image_size</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">unsigned</phrase>
- <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the size of the image produced, in pixels
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_title_font_size</phrase><phrase
- role="special">(</phrase><phrase role="keyword">unsigned</phrase>
- <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the font size for the legend title
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">string</phrase><phrase
- role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the string to be used for the title
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title_font_size</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the font size for the title
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">string</phrase><phrase
- role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Writes the plot to the file passed as a parameter
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">write</phrase><phrase role="special">(</phrase><phrase
- role="identifier">ostream</phrase><phrase role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Writes the plot to a stream passed as a parameter
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <section id="svg_plot.svg_1d_plot_interface.1d_inter_commands">
- <title><link linkend="svg_plot.svg_1d_plot_interface.1d_inter_commands"> Commands</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">axis_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether the axis is on or off
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether the legend is on or off
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">plot_window_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether the plot will be displayed in its own window, or will
- be "full screen" in the image
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the image title is displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_axis_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the X axis is displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_external_style_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the axis is inside or outside of the plot.
- Defaults to <code><phrase role="keyword">false</phrase></code>
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_label_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether or not the x axis label will show
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_labels_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- sets whether or not the major ticks will be labelled on the x axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_grid_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the major grid on the X axis will be displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_grid_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the minor grid on the X axis will be displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_axis_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the Y axis is displayed
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <section id="svg_plot.svg_1d_plot_interface.1d_inter_color">
- <title><link linkend="svg_plot.svg_1d_plot_interface.1d_inter_color"> Color
- Information</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">background_border_color</phrase><phrase
- role="special">(</phrase><phrase role="keyword">const</phrase> <phrase
- role="identifier">svg_color</phrase> <phrase role="special">&</phrase><phrase
- role="identifier">col</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the background border color for the legend as <code><phrase role="identifier">col</phrase></code>,
- an RGB color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">background_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the background color for the whole image
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_background_color</phrase><phrase
- role="special">(</phrase><phrase role="keyword">const</phrase> <phrase
- role="identifier">svg_color</phrase> <phrase role="special">&</phrase><phrase
- role="identifier">col</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the background color for the legend as <code><phrase role="identifier">col</phrase></code>,
- an RGB color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_border_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the border color for the legend as <code><phrase role="identifier">col</phrase></code>,
- an RGB color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">plot_background_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the color of the plot area. Note: this only goes into effect
- if plot_area(true) has been called
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the title color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_axis_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the lines that form the axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_label_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the labels that go along the X axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_grid_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the grid that runs perpindicular to the X axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_tick_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the major ticks of the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_grid_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the minor grid of the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_tick_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the minor ticks of the x-axis
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <section id="svg_plot.svg_1d_plot_interface.1d_inter_axis_information">
- <title><link linkend="svg_plot.svg_1d_plot_interface.1d_inter_axis_information">
- Axis Information</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_axis_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the stroke width of the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_label</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">string</phrase><phrase
- role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the label of the x-axis. This does not guarantee that it will
- be shown. You must run <code><phrase role="identifier">x_label_on</phrase><phrase
- role="special">(</phrase><phrase role="keyword">true</phrase><phrase
- role="special">)</phrase></code> for that guarantee
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_interval</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the distance (in Cartesian units) between ticks on the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_tick_length</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the x-axis major ticks
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_tick_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the width (in pixels) of the major ticks on the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_tick_length</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the x-axis minor tick lengths
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_tick_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the width (in pixels) of the minor ticks on the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_num_minor_ticks</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the number of minor ticks between each major tick
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_1d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_range</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase>
- <phrase role="identifier">x2</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the scale of the x axis from x1 to x2. Throws an exception if
- x2<=x1
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <section id="svg_plot.svg_1d_plot_interface.1d_plot_function">
- <title><link linkend="svg_plot.svg_1d_plot_interface.1d_plot_function"> The
- <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
- Method</link></title>
<para>
- The <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
- method is defined using Boost.Parameter. As such, it supports a few extra
- named parameters, as well as a deduced parameter.
+ This has the same effect as the following:
</para>
- <table frame="all"> <title>Required parameter</title>
- <tgroup cols="3">
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
+</programlisting>
+ <para>
+ and also the same effect as:
+ </para>
+
+<programlisting>
+<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">);</phrase>
+</programlisting>
+ <para>
+ Since _fill_color is a deduced parameter, when two svg_colors are used in
+ the same function call, they are always inferred in the following order:
+ (fill, stroke).
+ </para>
+ </section>
+ <section id="svg_plot.interface.svg_boxplot_interface">
+ <title><link linkend="svg_plot.interface.svg_boxplot_interface"> <code><phrase
+ role="identifier">svg_boxplot</phrase></code> Public Interface</link></title>
+ <table frame="all"> <title>Miscellaneous</title>
+ <tgroup cols="2">
<thead>
<row>
<entry>
<para>
- ID
+ Signature
</para>
</entry><entry>
<para>
- Type (* is a wildcard)
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">()</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ See the defaults section for further details
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">image_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">unsigned</phrase>
+ <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the size of the image produced, in pixels
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the string to be used for the title
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_size</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the font size for the title
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Commands</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Determines whether or not the image title is displayed
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether or not the X axis label will show
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_labels_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ sets whether or not the major ticks will be labelled on the x axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_label_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets whether or not the Y axis label will show
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_labels_on</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">bool</phrase><phrase role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ sets whether or not the major ticks will be labelled on the Y axis
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table> <table frame="all"> <title>Colors</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Signature
+ </para>
+ </entry><entry>
+ <para>
+ Description
+ </para>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">title_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the title color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background color for the whole image
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">background_border_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the background border color for the legend as <code><phrase role="identifier">col</phrase></code>,
+ an RGB color
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">plot_background_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Set the color of the plot area. Note: this only goes into effect if
+ plot_area(true) has been called
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the labels that go along the X axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
+ </para>
+ </entry><entry>
+ <para>
+ Sets the color of the major ticks of the x-axis
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_label_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- Description
+ Sets the color of the labels that go along the X axis
</para>
</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
<para>
- _container
- </para>
- </entry><entry>
- <para>
- *
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- Any object that can return an iterator with begin() and end()
+ Sets the color of the major ticks of the Y-axis
</para>
</entry>
</row>
<row>
<entry>
<para>
- _title
- </para>
- </entry><entry>
- <para>
- <code><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase
- role="identifier">string</phrase></code>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_minor_tick_color</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
+ <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
+ role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- The name of this series
+ Sets the color of the minor ticks of the Y-axis
</para>
</entry>
</row>
</tbody>
</tgroup>
- </table> <table frame="all"> <title>Deduced parameter</title>
- <tgroup cols="4">
+ </table> <table frame="all"> <title>Axis Information</title>
+ <tgroup cols="2">
<thead>
<row>
<entry>
<para>
- ID
- </para>
- </entry><entry>
- <para>
- Type
+ Signature
</para>
</entry><entry>
<para>
Description
</para>
- </entry><entry>
- <para>
- Default
- </para>
</entry>
</row>
</thead>
@@ -2976,142 +4784,173 @@
<row>
<entry>
<para>
- _fill_color
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_label</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">svg_color</phrase></code>
+ Sets the label of the x-axis. This does not guarantee that it will
+ be shown. You must run <code><phrase role="identifier">x_label</phrase><phrase
+ role="special">(</phrase><phrase role="keyword">true</phrase><phrase
+ role="special">)</phrase></code> for that guarantee
</para>
- </entry><entry>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>
- This is the color that shows up inside of the circle that is being
- drawn
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- white
+ Sets the length (in pixels) of the x-axis ticks
</para>
</entry>
</row>
- </tbody>
- </tgroup>
- </table> <table frame="all"> <title>Optional Parameters</title>
- <tgroup cols="4">
- <thead>
<row>
<entry>
<para>
- ID
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">x_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- Type
+ Sets the width (in pixels) of the major ticks on the x-axis
</para>
- </entry><entry>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>
- Description
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_label</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
+ role="special">::</phrase><phrase role="identifier">string</phrase><phrase
+ role="special">&)</phrase></code>
</para>
</entry><entry>
<para>
- Default
+ Sets the label of the x-axis. This does not guarantee that it will
+ be shown. You must run <code><phrase role="identifier">x_label</phrase><phrase
+ role="special">(</phrase><phrase role="keyword">true</phrase><phrase
+ role="special">)</phrase></code> for that guarantee
</para>
</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
<para>
- _stroke_color
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_interval</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase><phrase role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">svg_color</phrase></code>
+ Sets the distance (in Cartesian units) between ticks on the Y axis
</para>
- </entry><entry>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>
- The outline of the circle that is being drawn
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- black
+ Sets the length (in pixels) of the Y axis major ticks
</para>
</entry>
</row>
<row>
<entry>
<para>
- _point_style
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">point_shape</phrase></code>
+ Sets the width (in pixels) of the major ticks on the Y axis
</para>
- </entry><entry>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>
- This is the shape of the point. Options currently are between <literal>none</literal>,
- <literal>circle</literal>, and <literal>square</literal>.
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_num_minor_tick</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- circle
+ Sets the length (in pixels) of the Y axis minor ticks
</para>
</entry>
</row>
<row>
<entry>
<para>
- _size
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_major_tick_length</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase></code>
+ Sets the length (in pixels) of the Y axis minor tick lengths
</para>
- </entry><entry>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>
- This is the height/width of the circle and square.
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_minor_tick_width</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
+ role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- 10
+ Sets the width (in pixels) of the minor ticks on the Y axis
</para>
</entry>
</row>
<row>
<entry>
<para>
- _x_functor
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_num_minor_ticks</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">int</phrase><phrase role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- *
+ Sets the number of minor ticks between each major tick
</para>
- </entry><entry>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>
- A class or that contains a conversion function. You will not have to
- worry about this, unless you are trying to accomplish stuff like plotting
- a vector of humans. For example:
-<programlisting>
-<phrase role="keyword">class</phrase> <phrase role="identifier">my_functor</phrase>
-<phrase role="special">{</phrase>
- <phrase role="identifier">typdef</phrase> <phrase role="keyword">double</phrase> <phrase role="identifier">result_type</phrase><phrase role="special">;</phrase>
-
- <phrase role="keyword">double</phrase> <phrase role="keyword">operator</phrase><phrase role="special">()(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">human</phrase><phrase role="special">&</phrase> <phrase role="identifier">_hum</phrase><phrase role="special">)</phrase>
- <phrase role="special">{</phrase>
- <phrase role="keyword">return</phrase> <phrase role="special">(</phrase><phrase role="keyword">double</phrase><phrase role="special">)(</phrase><phrase role="identifier">_hum</phrase><phrase role="special">.</phrase><phrase role="identifier">age</phrase><phrase role="special">());</phrase>
- <phrase role="special">}</phrase>
-<phrase role="special">}</phrase>
-
-<phrase role="comment">// snip
-</phrase>
-<phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_plot</phrase><phrase role="special">,</phrase> <phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">_x_functor</phrase> <phrase role="special">=</phrase> <phrase role="identifier">my_functor</phrase><phrase role="special">());</phrase>
-</programlisting>
+ <code><phrase role="identifier">svg_boxplot</phrase><phrase role="special">&</phrase>
+ <phrase role="identifier">y_range</phrase><phrase role="special">(</phrase><phrase
+ role="keyword">double</phrase> <phrase role="identifier">y1</phrase><phrase
+ role="special">,</phrase> <phrase role="keyword">double</phrase> <phrase
+ role="identifier">y2</phrase><phrase role="special">)</phrase></code>
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">boost_default_convert</phrase></code>
- is sufficient in all cases where the data stored in the container can
- be directly casted to a double
+ Sets the scale of the Y axis from y1 to y2. Throws an exception if
+ y2<=y1
</para>
</entry>
</row>
@@ -3119,893 +4958,14 @@
</tgroup>
</table>
<para>
- Here are some examples of correct uses:
+ (Note: Getters omitted for now)
</para>
- <anchor id="svg_plot.svg_1d_plot_interface.1d_plot_function.using_fill_and_stroke_colors"/>
- <bridgehead renderas="sect3">
- <link linkend="svg_plot.svg_1d_plot_interface.1d_plot_function.using_fill_and_stroke_colors">Using
- fill and stroke colors</link>
+ <anchor id="svg_plot.interface.svg_boxplot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method"/>
+ <bridgehead renderas="sect4">
+ <link linkend="svg_plot.interface.svg_boxplot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method">The
+ <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
+ Method</link>
</bridgehead>
-
-<programlisting>
-<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
-</programlisting>
- <para>
- This has the same effect as the following:
- </para>
-
-<programlisting>
-<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
-</programlisting>
- <para>
- and also the same effect as:
- </para>
-
-<programlisting>
-<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">);</phrase>
-</programlisting>
- <para>
- Since _fill_color is a deduced parameter, when two svg_colors are used in
- the same function call, they are always inferred in the following order:
- (fill, stroke).
- </para>
- </section>
- </section>
- <section id="svg_plot.svg_2d_plot_interface">
- <title><link linkend="svg_plot.svg_2d_plot_interface"> <code><phrase role="identifier">svg_2d_plot</phrase></code>
- Public Interface</link></title>
- <section id="svg_plot.svg_2d_plot_interface.2d_inter_misc">
- <title><link linkend="svg_plot.svg_2d_plot_interface.2d_inter_misc"> Miscellaneous</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">()</phrase></code>
- </para>
- </entry><entry>
- <para>
- See the defaults section for further details
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">image_size</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">unsigned</phrase>
- <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the size of the image produced, in pixels
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">string</phrase><phrase
- role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the string to be used for the title
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title_font_size</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the font size for the title
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_title_font_size</phrase><phrase
- role="special">(</phrase><phrase role="keyword">unsigned</phrase>
- <phrase role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the font size for the legend title
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <section id="svg_plot.svg_2d_plot_interface.2d_inter_commands">
- <title><link linkend="svg_plot.svg_2d_plot_interface.2d_inter_commands"> Commands</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">axis_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether the axis is on or off
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether the legend is on or off
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">plot_window_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether the plot will be displayed in its own window, or will
- be "full screen" in the image
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the image title is displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_label_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether or not the X axis label will show
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_grid_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the major grid on the X axis will be displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_labels_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- sets whether or not the major ticks will be labelled on the x axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_grid_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the minor grid on the X axis will be displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_label_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets whether or not the Y axis label will show
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_grid_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the major grid on the Y axis will be displayed
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_labels_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- sets whether or not the major ticks will be labelled on the Y axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_minor_grid_on</phrase><phrase role="special">(</phrase><phrase
- role="keyword">bool</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Determines whether or not the minor grid on the Y axis will be displayed
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <section id="svg_plot.svg_2d_plot_interface.2d_inter_color">
- <title><link linkend="svg_plot.svg_2d_plot_interface.2d_inter_color"> Color</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">title_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the title color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">background_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the background color for the whole image
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_background_color</phrase><phrase
- role="special">(</phrase><phrase role="keyword">const</phrase> <phrase
- role="identifier">svg_color</phrase> <phrase role="special">&</phrase><phrase
- role="identifier">col</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the background color for the legend as <code><phrase role="identifier">col</phrase></code>,
- an RGB color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">legend_border_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the border color for the legend as <code><phrase role="identifier">col</phrase></code>,
- an RGB color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">background_border_color</phrase><phrase
- role="special">(</phrase><phrase role="keyword">const</phrase> <phrase
- role="identifier">svg_color</phrase> <phrase role="special">&</phrase><phrase
- role="identifier">col</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the background border color for the legend as <code><phrase role="identifier">col</phrase></code>,
- an RGB color
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">plot_background_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Set the color of the plot area. Note: this only goes into effect
- if plot_area(true) has been called
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_axis_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the lines that form the axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_label_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the labels that go along the X axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_tick_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the major ticks of the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_grid_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the grid that runs perpindicular to the X axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_tick_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the minor ticks of the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_axis_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the lines that form the Y axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_label_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the labels that go along the X axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_tick_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the major ticks of the Y-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_grid_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the grid that runs perpindicular to the Y axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_minor_tick_color</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">svg_color</phrase>
- <phrase role="special">&</phrase><phrase role="identifier">col</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the color of the minor ticks of the Y-axis
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <section id="svg_plot.svg_2d_plot_interface.2d_inter_axis">
- <title><link linkend="svg_plot.svg_2d_plot_interface.2d_inter_axis"> Axis Information</link></title>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- <para>
- Signature
- </para>
- </entry><entry>
- <para>
- Description
- </para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_axis_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the stroke width of the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_label</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">string</phrase><phrase
- role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the label of the x-axis. This does not guarantee that it will
- be shown. You must run <code><phrase role="identifier">x_label</phrase><phrase
- role="special">(</phrase><phrase role="keyword">true</phrase><phrase
- role="special">)</phrase></code> for that guarantee
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_interval</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the distance (in Cartesian units) between ticks on the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_tick_length</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the x-axis major ticks
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_major_tick_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the width (in pixels) of the major ticks on the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_tick</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the x-axis minor ticks
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_tick_length</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the x-axis minor tick lengths
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_minor_tick_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the width (in pixels) of the minor ticks on the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_num_minor_ticks</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the number of minor ticks between each major tick
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">x_range</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase> <phrase role="identifier">x1</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase>
- <phrase role="identifier">x2</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the scale of the x axis from x1 to x2. Throws an exception if
- x2<=x1
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_axis_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the stroke width of the x-axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_label</phrase><phrase role="special">(</phrase><phrase
- role="keyword">const</phrase> <phrase role="identifier">std</phrase><phrase
- role="special">::</phrase><phrase role="identifier">string</phrase><phrase
- role="special">&)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the label of the x-axis. This does not guarantee that it will
- be shown. You must run <code><phrase role="identifier">x_label</phrase><phrase
- role="special">(</phrase><phrase role="keyword">true</phrase><phrase
- role="special">)</phrase></code> for that guarantee
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_tick</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the distance (in Cartesian units) between ticks on the Y axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_tick_length</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the Y axis major ticks
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_tick_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the width (in pixels) of the major ticks on the Y axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_minor_tick</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the Y axis minor ticks
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_major_tick_length</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the length (in pixels) of the Y axis minor tick lengths
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_minor_tick_width</phrase><phrase role="special">(</phrase><phrase
- role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase
- role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the width (in pixels) of the minor ticks on the Y axis
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_num_minor_ticks</phrase><phrase role="special">(</phrase><phrase
- role="keyword">int</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the number of minor ticks between each major tick
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <code><phrase role="identifier">svg_2d_plot</phrase><phrase role="special">&</phrase>
- <phrase role="identifier">y_scale</phrase><phrase role="special">(</phrase><phrase
- role="keyword">double</phrase> <phrase role="identifier">y1</phrase><phrase
- role="special">,</phrase> <phrase role="keyword">double</phrase>
- <phrase role="identifier">y2</phrase><phrase role="special">)</phrase></code>
- </para>
- </entry><entry>
- <para>
- Sets the scale of the Y axis from y1 to y2. Throws an exception if
- y2<=y1
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </section>
- <para>
- (Note: Getters omitted for now)
- </para>
- <section id="svg_plot.svg_2d_plot_interface.plot_function">
- <title><link linkend="svg_plot.svg_2d_plot_interface.plot_function"> The <code><phrase
- role="identifier">plot</phrase><phrase role="special">()</phrase></code> Method</link></title>
<para>
The <code><phrase role="identifier">plot</phrase><phrase role="special">()</phrase></code>
method is defined using Boost.Parameter. As such, it supports a few extra
@@ -4034,7 +4994,7 @@
<row>
<entry>
<para>
- _container
+ ctr
</para>
</entry><entry>
<para>
@@ -4049,7 +5009,7 @@
<row>
<entry>
<para>
- _title
+ name
</para>
</entry><entry>
<para>
@@ -4064,7 +5024,7 @@
</row>
</tbody>
</tgroup>
- </table> <table frame="all"> <title>Deduced parameter</title>
+ </table> <table frame="all"> <title>Optional Parameters</title>
<tgroup cols="4">
<thead>
<row>
@@ -4091,186 +5051,208 @@
<row>
<entry>
<para>
- _fill_color
+ box_style
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">svg_color</phrase></code>
+ <code><phrase role="keyword">const</phrase> <phrase role="identifier">svg_style</phrase><phrase
+ role="special">&</phrase></code>
</para>
</entry><entry>
<para>
- This is the color that shows up inside of the circle that is being
- drawn
+ Styles the box of the boxplot
</para>
</entry><entry>
<para>
- white
+ <code><phrase role="identifier">svg_style</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">white</phrase><phrase role="special">,</phrase>
+ <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="number">1</phrase><phrase role="special">)</phrase></code>
</para>
</entry>
</row>
- </tbody>
- </tgroup>
- </table> <table frame="all"> <title>Optional Parameters</title>
- <tgroup cols="4">
- <thead>
<row>
<entry>
<para>
- ID
+ median_style
</para>
</entry><entry>
<para>
- Type
+ <code><phrase role="keyword">const</phrase> <phrase role="identifier">svg_style</phrase><phrase
+ role="special">&</phrase></code>
</para>
</entry><entry>
<para>
- Description
+ Styles the median of the boxplot
</para>
</entry><entry>
<para>
- Default
+ <code><phrase role="identifier">svg_style</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">white</phrase><phrase role="special">,</phrase>
+ <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="number">1</phrase><phrase role="special">)</phrase></code>
</para>
</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
<para>
- _bezier_on
+ axis_style
</para>
</entry><entry>
<para>
- <code><phrase role="keyword">bool</phrase></code>
+ <code><phrase role="keyword">const</phrase> <phrase role="identifier">svg_style</phrase><phrase
+ role="special">&</phrase></code>
</para>
</entry><entry>
<para>
- This determines whether or not Bézier curve interpolation will be
- applied to the plot lines. It is important to note that the curve interpolation
- is still in its infancy, and should only be used with reasonably nice
- data sets
+ Styles the data range line (the line going through the middle
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">svg_style</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">white</phrase><phrase role="special">,</phrase>
+ <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="number">1</phrase><phrase role="special">)</phrase></code>
</para>
</entry>
</row>
<row>
<entry>
<para>
- _line_on
+ min_whisker_style
</para>
</entry><entry>
<para>
- <code><phrase role="keyword">bool</phrase></code>
+ <code><phrase role="keyword">const</phrase> <phrase role="identifier">svg_style</phrase><phrase
+ role="special">&</phrase></code>
</para>
</entry><entry>
<para>
- This determines whether or not there are lines drawn between data points.
+ Styles the lower whisker
</para>
</entry><entry>
<para>
- false
+ <code><phrase role="identifier">svg_style</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">white</phrase><phrase role="special">,</phrase>
+ <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="number">1</phrase><phrase role="special">)</phrase></code>
</para>
</entry>
</row>
<row>
<entry>
<para>
- _line_color
+ max_whisker_style
</para>
</entry><entry>
<para>
- <code><phrase role="keyword">bool</phrase></code>
+ <code><phrase role="keyword">const</phrase> <phrase role="identifier">svg_style</phrase><phrase
+ role="special">&</phrase></code>
</para>
</entry><entry>
<para>
- This determines the color of the lines between data points
+ Styles the upper whisker
</para>
</entry><entry>
<para>
- black
+ <code><phrase role="identifier">svg_style</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">white</phrase><phrase role="special">,</phrase>
+ <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="number">1</phrase><phrase role="special">)</phrase></code>
</para>
</entry>
</row>
<row>
<entry>
<para>
- _area_fill_color
+ mild_outlier_style
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">svg_color</phrase></code>
+ <code><phrase role="keyword">const</phrase> <phrase role="identifier">plot_point_style</phrase><phrase
+ role="special">&</phrase></code>
</para>
</entry><entry>
<para>
- Defining this enables the "Fill Area Under Axis" feature.
- the color you define will be the fill color between a line and the
- area under the axis. This only takes effect if <code><phrase role="identifier">_line_on</phrase>
- <phrase role="special">=</phrase> <phrase role="keyword">true</phrase></code>
- is called.
+ Styles outliers within 3 Inter-Quartile Ranges (IQRs) of the edges
+ of the box
+ </para>
+ </entry><entry>
+ <para>
+ <code><phrase role="identifier">plot_point_style</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="number">0</phrase><phrase role="special">)</phrase></code>
</para>
</entry>
</row>
<row>
<entry>
<para>
- _stroke_color
+ ext_outlier_style
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">svg_color</phrase></code>
+ <code><phrase role="keyword">const</phrase> <phrase role="identifier">plot_point_style</phrase><phrase
+ role="special">&</phrase></code>
</para>
</entry><entry>
<para>
- The outline of the circle that is being drawn
+ Styles outliers more than 3 IQRs away from the box.
</para>
</entry><entry>
<para>
- black
+ <code><phrase role="identifier">plot_point_style</phrase><phrase role="special">(</phrase><phrase
+ role="identifier">white</phrase><phrase role="special">,</phrase>
+ <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
+ <phrase role="number">1</phrase><phrase role="special">)</phrase></code>
</para>
</entry>
</row>
<row>
<entry>
<para>
- _point_style
+ whisker_length
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">point_shape</phrase></code>
+ unsigned int
</para>
</entry><entry>
<para>
- This is the shape of the point. Options currently are between <literal>none</literal>,
- <literal>circle</literal>, and <literal>square</literal>.
+ Determines how long the whiskers at the end of the data range line
+ will be
</para>
</entry><entry>
<para>
- circle
+ 30
</para>
</entry>
</row>
<row>
<entry>
<para>
- _size
+ box_width
</para>
</entry><entry>
<para>
- <code><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase></code>
+ unsigned int
</para>
</entry><entry>
<para>
- This is the height/width of the circle and square.
+ Determines the width of the box
</para>
</entry><entry>
<para>
- 10
+ 60
</para>
</entry>
</row>
<row>
<entry>
<para>
- _x_functor
+ functor
</para>
</entry><entry>
<para>
@@ -4284,22 +5266,22 @@
<programlisting>
<phrase role="keyword">class</phrase> <phrase role="identifier">my_functor</phrase>
<phrase role="special">{</phrase>
- <phrase role="identifier">typdef</phrase> <phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">,</phrase> <phrase role="keyword">double</phrase><phrase role="special">></phrase> <phrase role="identifier">result_type</phrase><phrase role="special">;</phrase>
+ <phrase role="identifier">typdef</phrase> <phrase role="keyword">double</phrase> <phrase role="identifier">result_type</phrase><phrase role="special">;</phrase>
- <phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">,</phrase> <phrase role="keyword">double</phrase><phrase role="special">></phrase> <phrase role="keyword">operator</phrase><phrase role="special">()(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">human</phrase><phrase role="special">&</phrase> <phrase role="identifier">_hum</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase>
+ <phrase role="keyword">double</phrase> <phrase role="keyword">operator</phrase><phrase role="special">()(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">human</phrase><phrase role="special">&</phrase> <phrase role="identifier">_hum</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase>
<phrase role="special">{</phrase>
- <phrase role="keyword">return</phrase> <phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">,</phrase> <phrase role="keyword">double</phrase><phrase role="special">>(</phrase><phrase role="identifier">i</phrase><phrase role="special">,</phrase> <phrase role="identifier">_hum</phrase><phrase role="special">.</phrase><phrase role="identifier">age</phrase><phrase role="special">());</phrase>
+ <phrase role="keyword">return</phrase> <phrase role="keyword">double</phrase><phrase role="special">(</phrase><phrase role="identifier">_hum</phrase><phrase role="special">.</phrase><phrase role="identifier">age</phrase><phrase role="special">());</phrase>
<phrase role="special">}</phrase>
<phrase role="special">}</phrase>
<phrase role="comment">// snip
</phrase>
-<phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_plot</phrase><phrase role="special">,</phrase> <phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">_x_functor</phrase> <phrase role="special">=</phrase> <phrase role="identifier">my_functor</phrase><phrase role="special">());</phrase>
+<phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">functor</phrase> <phrase role="special">=</phrase> <phrase role="identifier">my_functor</phrase><phrase role="special">());</phrase>
</programlisting>
</para>
</entry><entry>
<para>
- <code><phrase role="identifier">boost_default_2d_convert</phrase></code>
+ <code><phrase role="identifier">boost_default_convert</phrase></code>
(the default) is sufficient in all cases where the data stored in the
container can be directly casted to a double
</para>
@@ -4308,41 +5290,6 @@
</tbody>
</tgroup>
</table>
- <para>
- Here are some examples of correct uses:
- </para>
- <anchor id="svg_plot.svg_2d_plot_interface.plot_function.using_fill_and_stroke_colors"/>
- <bridgehead renderas="sect3">
- <link linkend="svg_plot.svg_2d_plot_interface.plot_function.using_fill_and_stroke_colors">Using
- fill and stroke colors</link>
- </bridgehead>
-
-<programlisting>
-<phrase role="identifier">my_plot</phrase><phrase role="special">.(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
-</programlisting>
- <para>
- This has the same effect as the following:
- </para>
-
-<programlisting>
-<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase> <phrase role="identifier">red</phrase><phrase role="special">,</phrase> <phrase role="identifier">black</phrase><phrase role="special">);</phrase>
-</programlisting>
- <para>
- and also the same effect as:
- </para>
-
-<programlisting>
-<phrase role="identifier">my_plot</phrase><phrase role="special">.</phrase><phrase role="identifier">plot</phrase><phrase role="special">(</phrase><phrase role="identifier">my_data</phrase><phrase role="special">,</phrase> <phrase role="string">"Lions"</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_stroke_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">black</phrase><phrase role="special">,</phrase>
-<phrase role="identifier">_fill_color</phrase> <phrase role="special">=</phrase> <phrase role="identifier">red</phrase><phrase role="special">);</phrase>
-</programlisting>
- <para>
- Since _fill_color is a deduced parameter, when two svg_colors are used in
- the same function call, they are always inferred in the following order:
- (fill, stroke).
- </para>
</section>
</section>
<section id="svg_plot.acknowledgements">
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk