|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r51708 - in sandbox/SOC/2007/visualization/libs/svg_plot/doc: . html
From: pbristow_at_[hidden]
Date: 2009-03-11 11:54:28
Author: pbristow
Date: 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
New Revision: 51708
URL: http://svn.boost.org/trac/boost/changeset/51708
Log:
MInor edits
Text files modified:
sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_simple_tutorial.qbk | 34 +++++++++++++++++-----------------
sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_special_tutorial.qbk | 5 +++--
sandbox/SOC/2007/visualization/libs/svg_plot/doc/Jamfile.v2 | 3 ++-
sandbox/SOC/2007/visualization/libs/svg_plot/doc/behavior_tutorial.qbk | 3 ++-
sandbox/SOC/2007/visualization/libs/svg_plot/doc/boxplot_simple_tutorial.qbk | 30 +++++++++++++++---------------
sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_autoscaling.qbk | 6 +++---
sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_values.qbk | 2 +-
sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_2d_values.qbk | 2 +-
sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html | 17 ++++++++++-------
sandbox/SOC/2007/visualization/libs/svg_plot/doc/svg_plot.qbk | 8 +++++---
sandbox/SOC/2007/visualization/libs/svg_plot/doc/to_do.qbk | 33 +++++++++++++++------------------
11 files changed, 74 insertions(+), 69 deletions(-)
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_simple_tutorial.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_simple_tutorial.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_simple_tutorial.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -2,44 +2,44 @@
#include <boost/svg_plot/svg_2d_plot.hpp>
using namespace boost::svg;
-
+
#include <map>
using std::multimap; // A more complicated STL container.
-
+
int main()
{
multimap<double, double> map1;
multimap<double, double> map2;
- // This is random data used purely for example purposes.
+ // This is random data used purely for example purposes.
map1[1.] = 3.2;
map1[1.] = 5.4;
map1[7.3] = 9.1;
map2[3.1] = 6.1;
map2[5.4] = 7.;
-
+
svg_1d_plot my_plot;
-
+
my_plot.title("Race Times")
.legend_on(true)
.x_range(-1, 11)
.background_border_color(black);
-
+
my_plot.plot(map1, "Series 1", blue); // Data point marker color is blue.
my_plot.plot(map2, "Series 2", orange);
-
+
my_plot.write("simple_2d.svg");
return 0;
}
[h4 Resulting Simple_2D Example Image]
-[$images/2d_simple.png]
+[$images/2d_simple.svg]
[h4 Simple_2D Example Breakdown]
-Let's examine what this does.
+Let's examine what this does.
svg_2d_plot my_plot;
@@ -48,7 +48,7 @@
We could accept all of these and just plot one series of data with
my_plot.plot(map1, "Series 1"); // Data point marker color is default black.
-
+
but we can also add a few optional details:
my_plot.title("Race Times")
@@ -56,26 +56,26 @@
.x_range(-1, 11)
.background_border_color(black);
-All of the setter methods are fairly self-explanatory. To walk through it once,
+All of the setter methods are fairly self-explanatory. To walk through it once,
-* The title, which will appear at the top of the graph, will say "Race Times".
-* `legend_on(true)` means that the legend box will show up (by default at top right).
+* The title, which will appear at the top of the graph, will say "Race Times".
+* `legend_on(true)` means that the legend box will show up (by default at top right).
* `x_range(-1, 11)` means that the axis displayed will be between -1 and 11,
as you can see in the above images.
* `background_border_color(black)` sets the border around the image to `black`.
Ordinarily it is left to be the color of the whole image background
(and so no border of the plot area will be visible).
-
+
my_plot.plot(map1, "Series 1", blue);
my_plot.plot(map2, "Series 2", orange);
-This draws `map1` and `map2` to `my_plot`. As many containers as you want can
+This draws `map1` and `map2` to `my_plot`. As many containers as you want can
be drawn to `my_plot`. Eventually the plot will become cluttered and confusing,
when creating other plot(s) becomes sensible!
-The name of the series is `"Race times"`, and that
+The name of the series is `"Race times"`, and that
text will show in the legend box. These are the two required parameters for
-this function call. There are many optional parameters, as seen in the section
+this function call. There are many optional parameters, as seen in the section
[@plot_function Getting More Out of the `plot()` Function]
Finally
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_special_tutorial.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_special_tutorial.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/2d_special_tutorial.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -43,9 +43,10 @@
my_plot.plot(my_data, "Data", area_fill_color(red));
-This produces the following image:
+This produces the following images:
-[$images/2d_area_fill.svg]
+[$images/2d_area_fill_1.svg]
+[$images/2d_area_fill_2.svg]
from source at [@..\..\example\2d_area_fill.cpp]
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 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -36,8 +36,8 @@
[ glob ../../../boost/svg_plot/detail/*.hpp ]
:
<doxygen:param>EXTRACT_ALL=YES
- #<doxygen:param>"PREDEFINED=\"BOOST_DEDUCED_TYPENAME=typename\" "
<doxygen:param>HIDE_UNDOC_MEMBERS=NO
+ <doxygen:param>INLINE_INHERITED_MEMB=YES
<doxygen:param>SORT_MEMBER_DOCS=YES
<doxygen:param>EXTRACT_PRIVATE=YES
<doxygen:param>ENABLE_PREPROCESSING=YES
@@ -47,6 +47,7 @@
<doxygen:param>SHOW_INCLUDE_FILES=NO
<doxygen:param>INCLUDE_PATH=$(BOOST_ROOT)
;
+ #<doxygen:param>"PREDEFINED=\"BOOST_DEDUCED_TYPENAME=typename\" "
# import boostbook : boostbook ;
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/behavior_tutorial.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/behavior_tutorial.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/behavior_tutorial.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -45,7 +45,8 @@
Here is an example of numeric limits handling in action:
-[$images/2d_limit.png] [\TODO this file is missing!]
+[$images/2d_limit.svg]
+
[endsect] [/section:numerical_limits]
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/boxplot_simple_tutorial.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/boxplot_simple_tutorial.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/boxplot_simple_tutorial.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -10,53 +10,53 @@
{
return 50 / x;
}
-
+
double g(double x)
{
return 40 + 25 * sin(x * 50);
}
-
+
int main()
{
std::vector<double> data1, data2;
-
+
// Fill our vectors with values from the functions f(x) and g(x)
for(double i = .1; i < 10; i+=.1)
{
data1.push_back(f(i));
data2.push_back(g(i));
}
-
+
// Initialize a new box 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;
}
-
+
[h4 Image boxplot_simple.svg]
-[$images/boxplot_simple.png]
+[$images/boxplot_simple.svg]
[h4 Basic Example Breakdown]
-Let's examine what this does.
+Let's examine what this does.
[h4 Initializing a new boxplot]
@@ -74,13 +74,13 @@
to the left to name the Y-axis.
my_plot.title("Boxplots of Common Functions")
- .x_label("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.
+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.
@@ -90,7 +90,7 @@
[h4 Writing to a file]
-This finally writes our plot to the file "boxplot_simple.svg".
+This finally writes our plot to the file "boxplot_simple.svg".
``
my_plot.write("boxplot_simple.svg");
``
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_autoscaling.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_autoscaling.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_autoscaling.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -8,7 +8,7 @@
The output is:
[auto_1d_plot_output]
-[$images\auto_1d_plot.svg auto_1dplot.svg]
+[$images/auto_1d_plot.svg auto_1d_plot.svg]
See [@../../example/auto_1d_plot.cpp auto_1d_plot..cpp]
for full source code.
@@ -16,7 +16,7 @@
[endsect] [/section:auto_1d_plot 1-D Auto scaling Examples]
[section:demo_1d_autoscaling 1-D Autoscaling Various Containers Examples]
-[import ..\example\demo_1d_autoscaling.cpp]
+[import ../example/demo_1d_autoscaling.cpp]
[demo_1d_autoscaling_1]
[demo_1d_autoscaling_2]
@@ -26,7 +26,7 @@
[demo_1d_autoscaling_output]
and the plot:
-[$images\demo_auto_1d_autoscaling.svg]
+[$images/demo_1d_autoscaling.svg]
See [@../../example/demo_1d_autoscaling.cpp demo_1d_autoscaling.cpp]
for full source code.
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_values.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_values.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_1d_values.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -16,7 +16,7 @@
[demo_1d_limits_2]
[demo_1d_limits_output]
-[$image\demo_1d_limits.svg]
+[$images\demo_1d_limits.svg]
[endsect] [/section:demo_1d_values 1-D Data Values Examples]
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_2d_values.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_2d_values.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/demo_2d_values.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -9,7 +9,7 @@
[demo_2d_values_output]
And the plot:
-[$mage\demo_2d_values.svg]
+[$images\demo_2d_values.svg]
[h4 Showing 2d Data 'at limit' Values Examples]
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 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="../../../../../../../../boost_trunk/doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="index.html" title="Plotting graphs in SVG format">
-<link rel="next" href="SVG_plot/preface.html" title="Preface">
+<link rel="next" href="svg_plot/preface.html" title="Preface">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -17,12 +17,12 @@
<td align="center">More</td>
</tr></table>
<hr>
-<div class="spirit-nav"><a accesskey="n" href="SVG_plot/preface.html"><img src="../../../../../../../../boost_trunk/doc/html/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="svg_plot/preface.html"><img src="../../../../../../../../boost_trunk/doc/html/images/next.png" alt="Next"></a></div>
<div class="article" lang="en">
<div class="titlepage">
<div>
<div><h2 class="title">
-<a name="SVG_plot"></a>Plotting graphs in SVG format</h2></div>
+<a name="svg_plot"></a>Plotting graphs in SVG format</h2></div>
<div><div class="authorgroup">
<div class="author"><h3 class="author">
<span class="firstname">Jake</span> <span class="surname">Voytko</span>
@@ -33,7 +33,7 @@
</div></div>
<div><p class="copyright">Copyright © 2007 to 2009 Jake Voytko and Paul A. Bristow</p></div>
<div><div class="legalnotice">
-<a name="id785278"></a><p>
+<a name="id694527"></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>
@@ -44,7 +44,7 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
-<dt><span class="section"> Preface</span></dt>
+<dt><span class="section"> Preface</span></dt>
<dt><span class="section"><a href="plotting_graphs_in_svg_format/howtouse.html"> How To Use This
Documentation</a></span></dt>
<dt><span class="section"> Colors</span></dt>
@@ -147,6 +147,9 @@
<dt><span class="section">Index</span></dt>
</dl>
</div>
+<p>
+ [/ I expect this to be <a class="link" href="">svg_plot.todo</a>
+ </p>
<div class="important"><table border="0" summary="Important">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../../boost_trunk/doc/html/images/important.png"></td>
@@ -171,10 +174,10 @@
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: March 09, 2009 at 16:53:48 GMT</small></p></td>
+<td align="left"><p><small>Last revised: March 11, 2009 at 14:19:00 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
-<div class="spirit-nav"><a accesskey="n" href="SVG_plot/preface.html"><img src="../../../../../../../../boost_trunk/doc/html/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="svg_plot/preface.html"><img src="../../../../../../../../boost_trunk/doc/html/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 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -1,6 +1,6 @@
[article Plotting graphs in SVG format
[quickbook 1.4]
- [id SVG_plot]
+ [id svg_plot]
[authors [Voytko, Jake], [Bristow, Paul A.]]
[copyright 2007 to 2009 Jake Voytko and Paul A. Bristow]
[license
@@ -38,8 +38,10 @@
[def __svg_2d_plot [^[classref boost::svg::svg_2d_plot svg_2d_plot<>]]]
[def __svg_2d_plot_series [^[classref boost::svg::svg_2d_plot_series<>]]]
-[def __todo [link svg_plot.todo TODO]]
-[def __rationale [link svg_plot.implementation rationale and implementation]]
+[def __todo [link plotting_graphs_in_svg_format.todo TODO]]
+[def __rationale [link plotting_graphs_in_svg_format.implementation rationale and implementation]]
+
+[/ I expect this to be [link svg_plot.todo]
[def __caution Boost.Plot is not (yet) an official Boost library, but remains a library under construction,
the code is functional, but interfaces, library structure, and function and distribution names
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/to_do.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/to_do.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/to_do.qbk 2009-03-11 11:54:27 EDT (Wed, 11 Mar 2009)
@@ -3,14 +3,6 @@
This project is still in development: here is a 'known wishes' list.
Suggestions to pbristow at hetp.u-net.com.
-* Allow an *external stylesheet* to be loaded to style the graph. External
-stylesheets will allow a standard and easy way to style the document
-so that users don't have to come up with their own home-grown solutions.
-This was sketched out, but seemed much more complicated now that very may more
-options to control features have been added.
-
-The 'first try' code that Jake produced now longer compiles, so have been commented out.
-
* Allow *function pointers* to specify functions as input. A typical use case
is to just see what a function like [^sin(x)] looks like.
@@ -23,39 +15,44 @@
* *Automatic scaling* of the axis has been implemented. Feedback on how
'nicely' it works in practice would be welcome. Some of the uglier features
-of Microsoft Excel autoscaling have been avoided, but optinions on aesthetics vary widely.
+of Microsoft Excel autoscaling have been avoided, but opinions on aesthetics vary widely.
-* Allow *2D plots of 1D containers* - a very common need, for exampoe for Time Series.
+* Allow *2D plots of 1D containers* - a very common need, for example for Time Series.
Jake had trouble with having functors that update state interact
with `make_transform_iterator`, and omitted the feature.
* Make time and/or data labelled axis possible, with datetime a first class citizen type.
-* Add way of providing uncertainty estimates (+-, degrees of freedom ...).
-
* Allow *other image formats*. There are many inherent difficulties with this part.
The solution that was explored is allowing the user to pass a functor that traverses
the document tree. Generalizing images to an `image` class is fraught with
difficulties, as SVG is a tree-based format, which it does not share with
many other formats.
-(Note that [@www.inkscape.org Inkscape] permits conversion to bitmap format,
+*(Note that [@www.inkscape.org Inkscape] permits conversion to bitmap format,
.png etc, and other tools can accept and convert bitmaps.
This is used in the Boost.Math documentation. A Python file called generate.sh
-automates this process for many .svg files in a folder.)
+in the math toolkit shows how to automate this conversion process for many .svg files in a folder using Inkscape in command line mode.
+ $inkscape -d $dpi -e $(cygpath -a -w $pngfile) $(cygpath -a -w $svgfile)
+)
* *Avoid redrawing the entire plot each time*. This is the easiest way to
write the program initially, but it would be more efficient if the program could
keep track of what has been changed and what hasn't, so that it may be more
-efficient if lots of images are being produced.
-
-This hasn't been found to be a problem in practice so far.
+efficient if lots of images are being produced. This hasn't been found to be a problem in practice so far.
* Allow the user to provide a function object for generating *custom axis labels*,
for example, label axes with names of months (Jan, Feb, Mar...)
instead of integer representations of months (1, 2, 3...).
-* *Logarithmic Axes*. This does not look simple. Meanwhile you can take the log of the data.
+*Logarithmic Axes*. This does not look simple. Meanwhile you can take the log of the data.
+
+* Allow an *external stylesheet* to be loaded to style the graph. External
+stylesheets will allow a standard and easy way to style the document
+so that users don't have to come up with their own home-grown solutions.
+This was sketched out, but seemed much more complicated now that very may more
+options to control features have been added.
+(The 'first try' code that Jake produced now longer compiles, so has been commented out).
[endsect] [/section:todo To Do]
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