Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51225 - in sandbox/SOC/2007/visualization: boost/svg_plot boost/svg_plot/detail libs/svg_plot/doc libs/svg_plot/example libs/svg_plot/test
From: pbristow_at_[hidden]
Date: 2009-02-12 13:40:14


Author: pbristow
Date: 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
New Revision: 51225
URL: http://svn.boost.org/trac/boost/changeset/51225

Log:
Doyxgenation complete E&OE. all examples compile and compile OK from solution and from Jamfile
Text files modified:
   sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp | 55 +++++------
   sandbox/SOC/2007/visualization/boost/svg_plot/detail/svg_tag.hpp | 20 ++--
   sandbox/SOC/2007/visualization/boost/svg_plot/svg.hpp | 12 +-
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp | 36 +++----
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp | 49 ++++++---
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_boxplot.hpp | 191 +++++++++++++++++++++------------------
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_color.hpp | 13 +-
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_fwd.hpp | 2
   sandbox/SOC/2007/visualization/libs/svg_plot/doc/settings.qbk | 5 +
   sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_full_layout.cpp | 20 ++--
   sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple.cpp | 12 +-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple_style.cpp | 55 ++++++-----
   sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_external.cpp | 27 +++-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_grid.cpp | 79 +++++++++-------
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp | 11 -
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_bezier.cpp | 138 ++++++++++++++--------------
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_full.cpp | 135 ++++++++++++++-------------
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_limit.cpp | 109 ++++++++++++----------
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_simple.cpp | 53 ++++++----
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_y_grid.cpp | 53 ++++++----
   sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_containers.cpp | 4
   sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_plot.cpp | 13 +-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_2d_plot.cpp | 43 +++++---
   sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_boxplot.cpp | 12 +-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_full.cpp | 16 ++
   sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_simple.cpp | 18 ++-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/container_minmax.cpp | 15 +-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_autoscaling.cpp | 13 +-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_axis_scaling.cpp | 53 ++++++-----
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_containers.cpp | 31 +++--
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_plot.cpp | 52 +++++-----
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_values.cpp | 3
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_bars.cpp | 7
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_histogram.cpp | 2
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_plot.cpp | 2
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_values.cpp | 3
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_Hoaglin.cpp | 101 ++++++++++++++++++--
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_boxplot.cpp | 1
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_svg_tspan.cpp | 18 ++-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/svg_colors.cpp | 50 +++++-----
   sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_color_consistency.cpp | 6
   sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_tests.cpp | 6
   sandbox/SOC/2007/visualization/libs/svg_plot/test/test_svg.cpp | 6
   43 files changed, 872 insertions(+), 678 deletions(-)

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,9 +1,9 @@
- /*!
- \file axis_plot_frame.hpp
+ /*! \file axis_plot_frame.hpp
   \brief SVG Plot functions common to 1D, 2D and Boxplots.
   \details Functions are derived from base class axis_plot_frame.
   \date 11 Feb 2009
   \author Jacob Voytko and Paul A. Bristow
+
 */
 
 // Copyright Jacob Voytko 2007
@@ -900,14 +900,11 @@
             g_element& g_ptr,
             plot_point_style& sty)
           { //! Draw a plot data point marker shape whose size and color are specified in plot_point_style.
- int size = sty.size_;
- double half_size = size / 2.;
-
- /*! \details
+ /*
               For 1-D plots, the points do not *need* to be centered on the X-axis,
               and putting them just above, or sitting on, the X-axis is much clearer.
               For 2-D plots, the symbol center should, of course,
- be *centered exactly* on x, y.
+ be centered exactly on x, y.
               circle and ellipse are naturally centered on the point.
               for rect x and y half_size offset centers square on the point.
               But symbols are in a rectangular box and the offset is different for x & y
@@ -915,6 +912,8 @@
               the vertical and horizontal ticks are deliberately offset above the axes.
               TODO Not sure this is fully resolved.
             */
+ int size = sty.size_;
+ double half_size = size / 2.;
 
             switch(sty.shape_) // from enum point_shape none, round, square, point, egg
             {
@@ -1102,24 +1101,23 @@
           } // void draw_plot_point_value(double x, double y, g_element& g_ptr, double value)
 
           std::string sv(double v, const value_style& sty, bool unc = false)
- { //! Strip from values any unecessary e, +, & leading exponent zeros, reducing to "1.2, 3.4" or "3.4e1, 5.6e1"...
+ { //! Strip from double value any unecessary e, +, & leading exponent zeros, reducing "1.200000" to "1.2" or "3.4e1"...
             std::stringstream label;
             // Precision of uncertainty is usually less than precision of value,
             // label.precision((unc) ? ((sty.value_precision_ > 3) ? sty.value_precision_-2 : 1) : sty.value_precision_);
             // Possible but simpler to fix at precision=2
             label.precision((unc) ? 2 : sty.value_precision_);
             label.flags(sty.value_ioflags_);
- label << v; // "1.2, 3.4" or "3.4e+001, 5.6e+001"...
+ label << v; // "1.2" or "3.4e+001"...
             return (sty.strip_e0s_) ?
               // Default is to strip unecessary e, +, & leading exponent zeros.
- strip_e0s(label.str()) // reduce to "1.2, 3.4" or "3.4e1, 5.6e1"...
+ strip_e0s(label.str()) // reduce to "1.2" or "3.4e1"...
               :
- label.str(); // Unstripped.
+ label.str(); // Leave unstripped.
           } // std::string sv(double v, const value_style& sty)
 
           void draw_plot_point_values(double x, double y, g_element& x_g_ptr, g_element& y_g_ptr, const value_style& x_sty, const value_style& y_sty, double vx, double vy)
           { //! Write the \b pair of data point's values as a string.
-
             std::string label_xv = sv(vx, x_sty); //! Also strip unnecessary e, + and leading exponent zeros, if required.
             std::string label_yv = sv(vy, y_sty);
             std::string label_xu;
@@ -1342,7 +1340,7 @@
           // If both are set, stroke is considered 'more important',
           // and so is returned by get functions.
 
- Derived& image_size(unsigned int x, unsigned int y);
+ Derived& size(unsigned int x, unsigned int y);
           unsigned int image_x_size();
           Derived& image_x_size(unsigned int i);
           unsigned int image_y_size();
@@ -1650,11 +1648,11 @@
           } // x_autoscale(const T& container)
 
           template <class Derived>
- Derived& axis_plot_frame<Derived>::image_size(unsigned int x, unsigned int y)
+ Derived& axis_plot_frame<Derived>::size(unsigned int x, unsigned int y)
           { //! Set SVG image size (SVG units, default pixels).
             // Might put default sizes here?
             // Check on sanity of these values?
- derived().image.image_size(x, y);
+ derived().image.size(x, y);
             return derived();
           }
 
@@ -1702,8 +1700,8 @@
           { //! Set plot background border color.
             derived().image.g(PLOT_BACKGROUND).style().stroke_color(col);
             /*!
+ background_border_color example:
               \code
-// background_border_color example:
 svg_2d_plot my_plot(my_data, "My Data").background_border_color(red).background_color(azure);
               \endcode
             */
@@ -1765,13 +1763,13 @@
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::copyright_holder()
- { //! \return copyright_holder.
+ { //! \return copyright holder.
             return derived().image.copyright_holder();
           }
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::copyright_date(const std::string d)
- { //! Writes copyright_date to the document.
+ { //! Writes copyright date to the document.
             //! and as \verbatim metadata <meta name="date" content="2007" /> \endverbatim
             derived().image.copyright_date(d);
             return derived();
@@ -1851,9 +1849,8 @@
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::coord_precision(int digits)
- { //! Precision of SVG coordinates in decimal digits (default 3).
- /*!
- \details 3 decimal digits precision is sufficient for small images.
+ { /*! Precision of SVG coordinates in decimal digits (default 3).
+ 3 decimal digits precision is sufficient for small images.
               4 or 5 decimal digits precision will give higher quality plots,
               especially for larger images, at the expense of larger .svg files,
               particularly if there are very many data points.
@@ -1870,9 +1867,8 @@
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::x_value_precision(int digits)
- { //! Precision of X tick label values in decimal digits (default 3).
- /*!
- \details 3 decimal digits precision is sufficient for small images.
+ { /*! Precision of X tick label values in decimal digits (default 3).
+ 3 decimal digits precision is sufficient for small images.
               4 or 5 decimal digits precision will give more cluttered plots.
               If the range of labels is very small, then more digits will be essential.
             */
@@ -1889,8 +1885,7 @@
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::x_value_ioflags(int flags)
- { //! Set iostream std::ios::fmtflags for X value label (default decimal == 0X201).
- /*! \details
+ { /*! Set iostream std::ios::fmtflags for X value label (default decimal == 0X201).
               Mainly useful for changing to scientific, fixed or hexadecimal format.
               For example: .x_value_ioflags(std::ios::dec | std::ios::scientific)
             */
@@ -1920,11 +1915,11 @@
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::title(const std::string title)
- { //! Set a title for plot.
- /*! \details
+ { /*!
+ Set a title for plot.
               The string may include Unicode for greek letter and symbols.
               For example a title that includes a greek omega:
- \verbatim my_plot.title("Plot of &#x3A9; function");\endverbatim
+ \verbatim my_plot.title("Plot of &#x3A9; function"); \endverbatim
             */
             // Plot title. TODO
             // new text parent code pushback
@@ -2114,7 +2109,6 @@
             return derived().legend_header_.style().font_size();
           }
 
-
           template <class Derived>
           Derived& axis_plot_frame<Derived>::legend_top_left(double x, double y)
           { //! Set position of top left of legend box (svg coordinates, default pixels).
@@ -2506,6 +2500,7 @@
           template <class Derived>
           Derived& axis_plot_frame<Derived>::x_label_units_on(bool cmd)
           { //! Set true if want X axis label to include units (as well as label like "length").
+ //! \see x_label_units which also sets true.
             derived().x_axis_.label_units_on_ = cmd;
             return derived();
           }

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/detail/svg_tag.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/detail/svg_tag.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/detail/svg_tag.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -802,7 +802,7 @@
   align_style align_; //!< left_align, right_align, center_align
   rotate_style rotate_; //!< horizontal, upward, downward, upsidedown
 
- void _generate_text(std::ostream& os)
+ void generate_text(std::ostream& os)
   {
     for(ptr_vector<text_parent>::iterator i = data_.begin();
         i != data_.end();
@@ -948,7 +948,7 @@
   std::string text()
   {
     std::stringstream os;
- _generate_text(os);
+ generate_text(os);
     return os.str();
   }
 
@@ -1013,7 +1013,7 @@
     os << " font-decoration=\"" << style_.font_decoration() << "\"";
     }
     os << '>' ;
- _generate_text(os);
+ generate_text(os);
     os << "</text>";
     // Example:
   } // void write(std::ostream& os)
@@ -1201,12 +1201,12 @@
      \brief Draws a cubic Bezier curve from the current point to (x, y) using (x1, y1).
      \details 8.3.5 The curve commands: C, Q & A.
     */
- double x1;
- double y1;
- double x2;
- double y2;
- double x;
- double y;
+ double x1; //!< Middle of curve.
+ double y1; //!< Middle of curve.
+ double x2; //!< End point.
+ double y2; //!< End point.
+ double x; //!< Current (start point).
+ double y; //!< Current (start point).
 
     void write(std::ostream& o_str)
     {
@@ -1221,7 +1221,7 @@
       o_str << x1 << "," << y1 << " "
         << x2 << "," << y2 << " "
         << x << "," << y << " ";
- }
+ } // void write(ostream&)
 
     c_path(double x1, double y1, double x2, double y2,
             double x, double y, bool relative = false)

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -191,7 +191,7 @@
 // unsigned int x_size()
 // svg& y_size(unsigned int y)
 // unsigned int y_size()
-// svg& image_size(unsigned int x, unsigned int y)
+// svg& size(unsigned int x, unsigned int y)
 // information about the image file
 // svg& description(std::string d)
 // std::string& description()
@@ -233,7 +233,7 @@
   std::string image_desc_; //!< SVG image description (for header as \verbatim <desc> ... <\desc> \endverbatim).
   std::string holder_copyright_; //!< SVG info on holder of copyright (probably == author, but could be institution).
   std::string date_copyright_; //!< SVG info on date of copyright claimed.
- std::string css; //!< Cascading Style Sheet.
+ std::string css_; //!< Cascading Style Sheet.
   std::string filename_; //!< file SVG XML written to.
   std::string author_; //!< Author(s) name. (Probably == copyright holder).
   bool is_boost_license_; //!< If true, to include the Boost license as a XML comment.
@@ -281,13 +281,13 @@
   void write_css(std::ostream& s_out)
   { //! Output CSS (Cascading Style Sheet)
   // Not used at present.
- if (css.size() != 0) // css != ""
+ if (css_.size() != 0) // css != ""
     { // TODO confirm that this isn't useful if css is "".
       // [CDATA[ ... ]] enclosing the style information
       // is a standard XML construct for hiding information
       // necessary since CSS style sheets can include characters,
       // such as ">", which conflict with XML parsers.
- s_out << "<defs><style type=\"text/css\"><![CDATA[" << css
+ s_out << "<defs><style type=\"text/css\"><![CDATA[" << css_
         << "]]></style></defs>" << std::endl;
       // CSS inline style can be declared within a style attribute in SVG
       // by specifying a semicolon-separated list of property declarations,
@@ -332,7 +332,7 @@
     author_(""), //!< Author of image (defaults to the copyright holder).
     holder_copyright_(""), //!< Name of copyright holder.
     date_copyright_(""), //!< Date of copyright claim.
- css(""), //!< Stylesheet filename.
+ css_(""), //!< Stylesheet filename.
     filename_(""), //!< Name of file to which SVG XML has been written is embedded in the file as an XML comment (if written only to an ostream, filename will not appear in comment).
     is_license_(false), //!< If true, license text is written as comment in SVG XML. (Default is no license).
     is_boost_license_(false), //!< If true, Boost license text is written as comment in SVG XML. (Default is no license). Suggested strings for license permission are "permits", "requires", or "prohibits", or "".
@@ -621,7 +621,7 @@
   // Writes the information about the image to the document.
   // TODO: allow other unit identifiers.
   // -------------------------------------------------------
- void image_size(unsigned int x, unsigned int y)
+ void size(unsigned int x, unsigned int y)
   { //! Set both X and Y image size (SVG units, default pixels).
     x_size_ = x;
     y_size_ = y;

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -242,8 +242,8 @@
 
   double x_scale_; //! scale used for transform from Cartesian to SVG coordinates.
   double x_shift_; //! shift from SVG origin is top left, Cartesian is bottom right.
- double y_scale_;
- double y_shift_;
+ double y_scale_; //! scale used for transform from Cartesian to SVG coordinates.
+ double y_shift_; //! shift from SVG origin is top left, Cartesian is bottom right.
 
   svg image; // Stored so as to avoid rewriting style information constantly.
 
@@ -387,14 +387,12 @@
     x_steps_(0), // If autoscaled, set any prescaling to decimal 1, 2, 5, 10 etc, default none.
     x_tight_(1e-6), // margin that point can lie outside top and bottom tick.
     y_autoscale_(false), // Not used for 1-D.
-
     // Used to transform Cartesian to SVG.
     x_scale_(1.), x_shift_(0.),
     y_scale_(1.), y_shift_(0.),
     x_axis_position_(0) // Move into axis_style?
-
   {
- image_size(500, 200); // Default image size.
+ size(500, 200); // Default image size.
     // Only need to be quite shallow (y_size) for a 1-D plot.
     // 200 barely leaves enough room for five data series in the legend).
     // (2-D usually needs to be much more rectangular).
@@ -759,14 +757,13 @@
       title)
     );
    /*
- \code
- // Plot example:
- std::vector<float> my_data; // my container.
- my_data.pushback(2.f); // Fill container with some data.
- my_data.pushback(3.f);
- my_data.pushback(4.f);
- my_1d_plot.plot(my_data, "All my container"); // Plot all data.
- \endcode
+ \code
+std::vector<float> my_data; // my container.
+my_data.pushback(2.f); // Fill container with some data.
+my_data.pushback(3.f);
+my_data.pushback(4.f);
+my_1d_plot.plot(my_data, "All my container"); // Plot all data.
+ \endcode
    */
     return series[series.size() - 1]; // Reference to data series just added.
   }
@@ -788,14 +785,13 @@
     //! my_1d_plot.plot(&my_data[1], &my_data[4], "my_data 1 to 4"); // Add part of data series.
     //! Care: last == end which is one past the last, so this only does 1, 2 & 3 - *not* 4!
     return series[series.size() - 1]; // Reference to data series just added.
- }
+ } // plot
 
   template <class T, class U>
   svg_1d_plot_series& svg_1d_plot::plot(const T& begin, const T& end, const std::string& title /* = ""*/, U functor /* = boost_default_convert */)
- { //! Add a data series to the plot, with optional title. (Version with custom functor, rather than to double).
- /*!
- Note that this version permits a partial range, begin to end, of the container to be used.
- Returns a reference to data series just added.
+ { /*! Add a data series to the plot, with optional title. (Version with custom functor, rather than to double).
+ Note that this version permits a partial range, begin to end, of the container to be used.
+ Returns a reference to data series just added.
     */
     series.push_back(
       svg_1d_plot_series(
@@ -804,7 +800,7 @@
       title)
     );
     return series[series.size() - 1]; // Reference to data series just added.
- }
+ } // plot
 
   template <class T, class U>
   svg_1d_plot_series& svg_1d_plot::plot(const T& container, const std::string& title /* = "" */, U functor/*= boost_default_convert*/)
@@ -820,7 +816,7 @@
       title)
     );
     return series[series.size() - 1]; // Reference to data series just added.
- }
+ } // plot
 
 // End svg_1d_plot Member functions definitions.
 

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -440,8 +440,8 @@
       svg_2d_plot()
         /*! Default constructor, including all the very many default plot options,
             some of which use some or all of the style class defaults.\n
- All these settings can be changed by chainable functions, for example:\n
- \code
+ All these settings can be changed by chainable functions, for example:\n
+ \code
 svg_2d_plot my_plot;
 my_plot.background_color(ghostwhite) // Whole image.
   .legend_border_color(yellow) // Just the legend box.
@@ -451,8 +451,8 @@
   .plot_border_width(1) // Thin border (SVG units, default pixels).
   .title_color(red) // Title of whole image.
 ;
- \endcode
- */
+ \endcode
+ */
         :
         // See documentation for default settings rationale.
         // text_styles:
@@ -520,7 +520,7 @@
         x_axis_position_(0),
         y_axis_position_(0)
       {
- image_size(500, 400); // Default image size for 2-D.
+ size(500, 400); // Default image size for 2-D.
         // 2-D usually needs to be squarer than 1-D.
 
         using namespace boost::svg::detail; // Avoid need for prefix detail::
@@ -1834,11 +1834,11 @@
       double y_major_tick_width();
       svg_2d_plot& y_minor_tick_width(double width);
       double y_minor_tick_width();
- svg_2d_plot& x_ticks_on_window_or_axis(int is);
+ svg_2d_plot& x_ticks_on_window_or_axis(int);
       int x_ticks_on_window_or_axis();
- svg_2d_plot& x_major_labels_side(int is);
+ svg_2d_plot& x_major_labels_side(int);
       int x_major_labels_side();
- svg_2d_plot& y_ticks_on_window_or_axis(int is);
+ svg_2d_plot& y_ticks_on_window_or_axis(int);
       int y_ticks_on_window_or_axis();
       svg_2d_plot& y_ticks_left_on(bool cmd);
       bool y_ticks_left_on();
@@ -1918,6 +1918,7 @@
 
       svg_2d_plot& svg_2d_plot::x_label_on(bool cmd)
       {//! Set to include an X axis text label.
+ //! \see x_label_units
         x_axis_.label_on_ = cmd;
         return *this; //! \return reference to svg_2d_plot to make chainable.
       }
@@ -1968,8 +1969,11 @@
       }
 
       svg_2d_plot& svg_2d_plot::y_value_precision(int digits)
- { //! Set precision of Y tick label values in decimal digits (default 3).
- //! code my_plot.x_value_ioflags(ios::dec | ios::scientific).x_value_precision(2); \endcode
+ { /*! Set precision of Y tick label values in decimal digits (default 3).
+ \code
+my_plot.x_value_ioflags(ios::dec | ios::scientific).x_value_precision(2);
+ \endcode
+ */
         y_ticks_.value_precision_ = digits;
         return *this; //! \return reference to svg_2d_plot to make chainable.
       }
@@ -1980,8 +1984,11 @@
       }
 
       svg_2d_plot& svg_2d_plot::y_value_ioflags(std::ios_base::fmtflags flags)
- { //! set IO flags of Y tick label values (default 0X201 == dec).
- //! code my_plot.x_value_ioflags(ios::dec | ios::scientific).x_value_precision(2); \endcode
+ { /*! set IO flags of Y tick label values (default 0X201 == dec).
+ \code
+my_plot.x_value_ioflags(ios::dec | ios::scientific).x_value_precision(2);
+ \endcode
+ */
         y_ticks_.value_ioflags_ = flags;
         return *this; //! \return reference to svg_2d_plot to make chainable.
       }
@@ -2028,6 +2035,7 @@
 
       svg_2d_plot& svg_2d_plot::y_label_units_on(bool b)
       { //! Set true to add units text to the Y axis label.
+ //! \see
         y_axis_.label_units_on_ = b;
         return *this; //! \return reference to svg_2d_plot to make chainable.
       }
@@ -2377,7 +2385,7 @@
       svg_2d_plot& svg_2d_plot::x_major_labels_side(int side)
       { /*! Side for major ticks label values:
          \param side -1 labels downward.
- \param side 0 no ticks.
+ \param side 0 no labels.
          \param side +1 labels upward.
         */
         x_ticks_.major_value_labels_side_ = side;
@@ -2597,13 +2605,15 @@
     }
     write(fout); // Using the ostream version.
     return *this; //! \return reference to svg_2d_plot to make chainable.
- }
+ } // write(file)
 
   template <class T> //! \tparam T Type of data in series (must be convertible to double).
   svg_2d_plot_series& svg_2d_plot::plot(const T& container, const std::string& title)
   { /*! Add a container of a data series to the plot.
       This version assumes that *ALL* the data value in the container is used.
- \code my_plot.plot(data1, "Sqrt(x)");\endcode
+ \code
+my_plot.plot(data1, "Sqrt(x)");
+ \endcode
       Version converting to double with \c boost_default_2d_convert.
     */
     series.push_back(
@@ -2633,8 +2643,13 @@
   svg_2d_plot_series& svg_2d_plot::plot(const T& begin, const T& end, const std::string& title)
   { /*! Add a data series to the plot (by default, converting automatically to doubles).\n
       This version permits part of the container to be used, a partial range, using iterators begin to end.\n
- For example: \code my_2d_plot.plot(my_data.begin(), my_data.end(), "My container"); \endcode
- \code my_2d_plot.plot(&my_data[1], &my_data[], "my_data 1 to 3"); // Add part of data series. \endcode
+ For example:
+ \code
+my_2d_plot.plot(my_data.begin(), my_data.end(), "My container");
+ \endcode
+ \code
+my_2d_plot.plot(&my_data[1], &my_data[], "my_data 1 to 3"); // Add part of data series.
+ \endcode
    */
     series.push_back(
       svg_2d_plot_series(

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_boxplot.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_boxplot.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_boxplot.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -632,7 +632,7 @@
 
 private:
   svg image; // Stored so as to avoid rewriting style information constantly.
- // image.image_size(500, 500);
+ // image.size(500, 500);
 
   double x_scale_; //! Used by function transform()
   double x_shift_; //! to go from Cartesian to SVG coordinates.
@@ -806,7 +806,7 @@
   { //! Default constructor providing all the default colors, style etc,
     using std::cout;
     using std::endl;
- image_size(500, 350);
+ size(500, 350);
 
    // Build the document tree. add children of the root node.
     for(int i = 0; i < boxplot::BOXPLOT_DOC_CHILDREN; ++i)
@@ -1857,7 +1857,7 @@
   svg_boxplot& y_range(double min_y, double max_y);
   std::pair<double, double> y_range();
   svg_boxplot& y_label(const std::string& str);
- svg_boxplot& image_size(unsigned int x, unsigned int y);
+ svg_boxplot& size(unsigned int x, unsigned int y);
   svg_boxplot& y_label_font_size(unsigned int size);
   svg_boxplot& y_label_color(const svg_color& col);
   svg_boxplot& title(const std::string& str);
@@ -2164,7 +2164,7 @@
   }
 
   svg_boxplot& svg_boxplot::y_range(double min_y, double max_y)
- { //! Set range of Y values for Y axis (do nto use autoscale).
+ { //! Set range of Y values for Y axis (and do not use autoscale).
     if (!boost::math::isfinite(min_y))
     {
       throw std::runtime_error("Y range: min not finite!");
@@ -2188,50 +2188,51 @@
   } // svg_boxplot& y_range(double y1, double y2)
 
   std::pair<double, double> svg_boxplot::y_range()
- { //! Set y_range using a pair of doubles.
+ { //! Set y_range using a pair of doubles (and do not use autoscale).
     std::pair<double, double> r;
     r.first = y_axis_.min_;
     r.second = y_axis_.max_;
+ y_autoscale_ = false;
     return r;
   } // std::pair<double, double> svg_boxplot::y_range()
 
   svg_boxplot& svg_boxplot::y_label(const std::string& str)
- {
+ { //! Set Y axis label.
     y_label_info_.text(str);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
- svg_boxplot& svg_boxplot::image_size(unsigned int x, unsigned int y)
- {
- image.image_size(x, y);
+ svg_boxplot& svg_boxplot::size(unsigned int x, unsigned int y)
+ { //! Set SVG image width (x) and height (y).
+ image.size(x, y);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_label_font_size(unsigned int size)
- {
+ { //! Set font size for Y axis label.
      y_axis_label_style_.font_size(size);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_label_color(const svg_color& col)
- {
+ { //! Set font color for Y axis label.
     image.g(boxplot::Y_LABEL).style().fill_color(col);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::title(const std::string& str)
- {
+ { //! Set title text for plot.
     title_info_.text(str);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
   svg_boxplot& svg_boxplot::title_size(unsigned int size)
- {
+ { //! Set font size for title text.
     y_label_info_.style().font_size(size);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_axis_position(int pos)
- { /*! Position of the horizontal X-axis line (on the border).
+ { /*! Set position of the horizontal X-axis line (on the border).
       But controlled by the intersection with Y-axis,
       so this only changes the default position from bottom to top,
       but will be changed if X-axis intersects the Y-axis
@@ -2242,167 +2243,179 @@
   }
 
   double svg_boxplot::x_axis_position()
- { // Position of the horizontal X-axis line (on the border).
+ { //! \return position of the horizontal X-axis line (on the border).
     return x_axis_position_; // top or bottom
   }
 
   svg_boxplot& svg_boxplot::y_axis_position(int pos)
- { // Position of the vertical Y-axis line (on the border).
+ { /*! Set position of the vertical Y-axis line (on the border).
+ But controlled by the intersection with X-axis,
+ so this only changes the default position from bottom to top,
+ but will be changed if X-axis intersects the X-axis
+ (that is if X-axis includes zero).
+ */
      y_axis_position_ = pos; // left or right
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::y_axis_position()
- { // Position of the vertical Y-axis line (on the border).
+ { //! \return Position of the vertical Y-axis line (on the border).
     return y_axis_position_; // left or right
   }
 
   svg_boxplot& svg_boxplot::x_label(const std::string& str)
- {
+ { //! Set label for X axis (can also append optional units).
+ //! \see x_label_units_on and \see x_label_units
     x_label_info_.text(str);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
+
   svg_boxplot& svg_boxplot::x_label_size(unsigned int size)
- {
+ { //! Set the font size for the X axis label.
     x_label_info_.style().font_size(size);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_label_color(const svg_color& col)
- {
+ { //! Set the font color for the X axis label.
     image.g(boxplot::X_LABEL).style().fill_color(col);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_major_interval(double inter)
- {
+ { //! Set the interval between major ticks on the Y axis.
     y_ticks_.major_interval_ = inter;
     return *this;
- } svg_boxplot& svg_boxplot::x_tick_length(unsigned int length)
- {
+ }
+
+ svg_boxplot& svg_boxplot::x_tick_length(unsigned int length)
+ { //! Set the length of major ticks on the X axis.
     x_ticks_.major_tick_length_ = length;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_major_tick_length(unsigned int length)
- {
+ { //! Set the length of major ticks on the Y axis.
     y_ticks_.major_tick_length_ = length;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_minor_tick_length(unsigned int length)
- {
+ { //! Set the length of minor ticks on the Y axis.
     y_ticks_.minor_tick_length_ = length;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_num_minor_ticks(unsigned int num)
- {
+ { //! Set the number of minor ticks between major ticks on the Y axis.
+ //! For example, 1 gives alternating major and minor ticks,\n
+ //! 4 is more useful giving major ticks at 1, 5, 10, 15...\n
+ //! 9 gives major ticks at 10, 20, 30...
     y_ticks_.num_minor_ticks_ = num;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_tick_width(unsigned int width)
- {
+ { //! Set the width of major ticks on the X axis.
     image.g(boxplot::X_TICKS).style().stroke_width(width);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_major_tick_width(unsigned int width)
- {
+ { //! Set the width of major ticks on the Y axis.
     image.g(boxplot::Y_MAJOR_TICKS).style().stroke_width(width);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_minor_tick_width(unsigned int width)
- {
+ { //! Set the width of minor ticks on the Y axis.
     image.g(boxplot::Y_MINOR_TICKS).style().stroke_width(width);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   unsigned int svg_boxplot::image_x_size()
- {
+ { //! \return width of the SVG image.
     return image.x_size();
   }
 
   unsigned int svg_boxplot::image_y_size()
- {
+ { //! \return height of the SVG image.
     return image.x_size();
   }
 
   std::string svg_boxplot::title()
- {
+ { //! \return title of the plot.
     return title_info_.text();
   }
 
   bool svg_boxplot::x_label_on()
- {
+ { //! \return label for the X axis.
     return x_axis_.label_on_;
   }
 
   int svg_boxplot::x_major_labels()
- {
+ { //! \return which side of the X axis for labels.
     return y_ticks_.major_value_labels_side_;
   }
 
   svg_color svg_boxplot::title_color()
- {
+ { //! \return color of the title.
     return image.g(boxplot::PLOT_TITLE).style().fill_color();
   }
 
   svg_color svg_boxplot::background_color()
- {
+ { //! \return Color of the background for the SVG image.
     return image.g(boxplot::PLOT_BACKGROUND).style().fill_color();
   }
 
   svg_color svg_boxplot::background_border_color()
- {
+ { //! \return Color of the border of the background for the SVG image.
     return image.g(boxplot::PLOT_BACKGROUND).style().stroke_color();
   }
 
   svg_color svg_boxplot::plot_background_color()
- {
+ { //! \return Color of the background for the plot.
     return image.g(boxplot::PLOT_WINDOW_BACKGROUND).style().fill_color();
   }
 
   svg_color svg_boxplot::plot_border_color()
- {
+ { //! \return Color of the border of the background for the plot.
     return image.g(boxplot::PLOT_WINDOW_BACKGROUND).style().stroke_color();
   }
 
   svg_color svg_boxplot::x_label_color()
- {
+ { //! \return Color of the X axis label.
     return image.g(boxplot::X_LABEL).style().fill_color();
   }
 
   svg_color svg_boxplot::x_tick_color()
- {
+ { //! \return Color of ticks on the X axis.
     return image.g(boxplot::X_TICKS).style().stroke_color();
   }
 
   double svg_boxplot::x_tick_length()
- {
+ { //! \return Length of major ticks on the X axis.
     return x_ticks_.major_tick_length_;
   }
 
   double svg_boxplot::x_major_tick_width()
- {
+ { //! \return Width of major ticks on the X axis.
     return image.g(boxplot::X_TICKS).style().stroke_width();
   }
 
   std::string svg_boxplot::x_label_text()
- {
+ { //! \return Text of label for X axis.
     return x_label_info_.text();
   }
 
   std::string svg_boxplot::y_label_text()
- {
+ { //! \return Text of label for Y axis.
     return y_label_info_.text();
   }
 
- svg_boxplot& svg_boxplot::whisker_length(double width)
- {
- whisker_length_ = width;
+ svg_boxplot& svg_boxplot::whisker_length(double length)
+ { //! Set the length of the whisker.
+ whisker_length_ = length;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
@@ -2412,195 +2425,195 @@
   }
 
  svg_boxplot& svg_boxplot::box_width(double width)
- { // Width of the box, not the border.
+ { //! Set width of the box.
+ //! (Width of the box, not the border).
     box_width_ = width;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::box_width()
- { // Width of the box, not the border.
+ { //! \return width of the box. (Width of the box, not the border).
     return box_width_;
   }
 
   svg_boxplot& svg_boxplot::box_fill(const svg_color& color)
- { // Color of box fill, not border.
+ { //! Set color of box fill (not border).
     box_style_.fill_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::box_fill()
- { // Color of box fill, not border.
+ { //! \return Color of box fill (not border).
     return box_style_.fill_color();
   }
 
   svg_boxplot& svg_boxplot::box_border(const svg_color& color)
- { // Color of box fill, not border.
+ { //! Set color of box border.
     box_style_.stroke_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::box_border()
- { // Color of box fill, not border.
+ { //! \return Color of box border.
     return box_style_.stroke_color();
   }
 
   svg_boxplot& svg_boxplot::median_color(const svg_color& color)
- { // Color of median line in box.
+ { //! Set color of median line in box.
     median_style_.stroke_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::median_color()
- { // Color of median line in box.
+ { //! \return color of median line in box.
     return median_style_.stroke_color();
   }
 
   svg_boxplot& svg_boxplot::median_width(double width)
- { // Width of the box, not the border.
+ { //! Set width of the box (not the border).
     median_style_.stroke_width(width);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::median_width()
- { // Width of the box, not the border.
+ { //! \return width of the box (not the border).
     return median_style_.stroke_width();
   }
 
   svg_boxplot& svg_boxplot::axis_color(const svg_color& color)
- { // Color of vertical whisker axis line in box.
+ { //! Set color of vertical whisker axis line in box.
     axis_style_.stroke_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::axis_color()
- { // Color of vertical whisker axis line in box.
+ { //! \return Color of vertical whisker axis line in box.
     return axis_style_.stroke_color();
   }
 
   svg_boxplot& svg_boxplot::axis_width(double width)
- { // Width of the box, not the border.
+ { //! Set width of the box, not the border.
     median_style_.stroke_width(width);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::axis_width()
- { // Width of the box, not the border.
+ { //! \return Width of the box, not the border.
     return median_style_.stroke_width();
   }
 
   svg_boxplot& svg_boxplot::outlier_color(const svg_color& color)
- { // Color of axis line in box.
+ { //! Set color of outlier.
     mild_outlier_.stroke_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::outlier_color()
- { // Color of axis line in box.
+ { //! \return Color of mild outlier.
     return mild_outlier_.stroke_color();
   }
 
   svg_boxplot& svg_boxplot::outlier_fill(const svg_color& color)
- { // Color of axis line in box.
+ { //! Set color of mild outlier fill.
     mild_outlier_.fill_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::outlier_fill()
- { // Color of axis line in box.
+ { //! \return Color of outlier fill.
     return mild_outlier_.fill_color();
   }
 
   svg_boxplot& svg_boxplot::extreme_outlier_color(const svg_color& color)
- { // Color of axis line in box.
+ { //! Color of extreme outlier.
     ext_outlier_.stroke_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::extreme_outlier_color()
- { // Color of axis line in box.
+ { //! \return Color of extreme outlier.
     return ext_outlier_.stroke_color();
   }
 
   svg_boxplot& svg_boxplot::extreme_outlier_fill(const svg_color& color)
- { // Color of axis line in box.
+ { //! Set color of extreme outlier fill.
     ext_outlier_.fill_color(color);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::extreme_outlier_fill()
- { // Color of axis line in box.
+ { //! \return Color of extreme outlier fill.
     return ext_outlier_.fill_color();
   }
 
   svg_boxplot& svg_boxplot::outlier_shape(point_shape shape)
- { // Shape of outlier marker.
+ { //! Set shape of outlier marker.
     mild_outlier_.shape_ = shape;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   point_shape svg_boxplot::outlier_shape()
- { // Color of outlier marker.
+ { //! \return Outlier marker shape.
     return mild_outlier_.shape_;
   }
 
   svg_boxplot& svg_boxplot::extreme_outlier_shape(point_shape shape)
- { // Shape of extreme outlier marker.
+ { //! Set shape of extreme outlier marker.
     ext_outlier_.shape_ = shape;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   point_shape svg_boxplot::extreme_outlier_shape()
- { // Shape of extreme outlier marker.
+ { //! \return Shape of extreme outlier marker.
     return ext_outlier_.shape_ ;
   }
 
   svg_boxplot& svg_boxplot::outlier_size(int size)
- { // Size of outlier marker.
+ { //! Set size of outlier marker.
     mild_outlier_.size(size);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   int svg_boxplot::outlier_size()
- {
+ { //! \return Size of outlier marker.
     return mild_outlier_.size();
   }
- // Size of outlier marker.
 
   svg_boxplot& svg_boxplot::extreme_outlier_size(int size)
- { // Size of extreme outlier marker.
+ { //! Set size of extreme outlier marker.
     ext_outlier_.size(size);
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   int svg_boxplot::extreme_outlier_size()
- { // Size of extreme outlier marker.
+ { //! \return size of extreme outlier marker.
     return ext_outlier_.size();
   }
 
   svg_boxplot& svg_boxplot::quartile_definition(int def)
- { //! Set size of extreme outlier marker.
+ { //! Set definition of quartile.
     quartile_definition_ = def;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   int svg_boxplot::quartile_definition()
- { // Size of extreme outlier marker.
+ { //! \return definition \# of quartile.
     return quartile_definition_;
   }
 
   bool svg_boxplot::y_autoscale()
- {
+ { //! \return true if Y axis to use autoscale.
     return y_autoscale_;
   }
 
   svg_boxplot& svg_boxplot::y_autoscale(bool b)
- {
+ { //! Set true if Y axis to use autoscale.
     y_autoscale_ = b;
     return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_autoscale(std::pair<double, double> p)
- { // Use Y min & max pair values to autoscale.
+ { //! Set Y min & max pair values to use for autoscale.
     scale_axis(p.first, p.second, // double min and max from pair.
     &y_auto_min_value_, &y_auto_max_value_, &y_auto_tick_interval_, &y_auto_ticks_,
     autoscale_check_limits_,
@@ -2610,7 +2623,7 @@
   } // autoscale(pair<double, double> p)
 
   svg_boxplot& svg_boxplot::y_autoscale(double first, double second)
- { // Use Y min & max pair values to autoscale.
+ { //! Set Y min & max pair values to use for autoscale.
     scale_axis(first, second, // double min and max from two doubles.
     &y_auto_min_value_, &y_auto_max_value_, &y_auto_tick_interval_, &y_auto_ticks_,
     autoscale_check_limits_,
@@ -2619,9 +2632,9 @@
     return *this; //! \return reference to svg_boxplot to make chainable.
   } // autoscale(pair<double, double> p)
 
- template <class T> // T an STL container: array<double>, vector<double> ...
+ template <class T> //! \tparam T an STL container: array<double>, vector<double> ...
   svg_boxplot& svg_boxplot::y_autoscale(const T& begin, const T& end) // Data series using iterators to
- { // to use to calculate autoscaled values.
+ { //! Set container and iterator range to use to calculate autoscaled values.
     scale_axis(begin, end,
     &y_auto_min_value_, &y_auto_max_value_, &y_auto_tick_interval_, &y_auto_ticks_,
     autoscale_check_limits_,
@@ -2630,9 +2643,9 @@
     return *this; //! \return reference to svg_boxplot to make chainable.
   } // y_autoscale(const T& begin, const T& end)
 
- template <class T> // T an STL container: array, vector ...
+ template <class T> //! \tparam T an STL container: array, vector ...
   svg_boxplot& svg_boxplot::y_autoscale(const T& container) // Whole data series.
- { // to use to calculate autoscaled values.
+ { //! Set whole data container to use to calculate autoscaled values.
     scale_axis(container.begin(), container.end(), // All the container.
     &y_auto_min_value_, &y_auto_max_value_, &y_auto_tick_interval_, &y_auto_ticks_,
     autoscale_check_limits_,

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_color.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_color.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_color.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -72,15 +72,14 @@
   struct svg_color;
   void constant_to_rgb(svg_color_constant c, unsigned char& r, unsigned char& g, unsigned char& b);
   std::ostream& operator<< (std::ostream&, const svg_color&);
- // --------------------------------------------------------------------
- // svg_color is the struct that contains information about RGB colors.
- // // For the constructor, the SVG standard specifies that numbers
- // outside the normal rgb range are to be accepted,
- // but are constrained to acceptable range of integer values [0, 255].
- // --------------------------------------------------------------------
 
   struct svg_color
- //!< SVG standard colors, see also enum \#boost::svg::svg_color_constant.
+ /*! SVG standard colors, see also enum boost::svg::svg_color_constant.\n
+ svg_color is the struct that contains information about RGB colors.
+ For the constructor, the SVG standard specifies that numbers
+ outside the normal rgb range are to be accepted,
+ but are constrained to acceptable range of integer values [0, 255].
+ */
   {
     friend std::ostream& operator<< (std::ostream& os, const svg_color& rhs);
 

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_fwd.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_fwd.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_fwd.hpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -61,7 +61,7 @@
 unsigned int x_size();
 svg& y_size(unsigned int y);
 unsigned int y_size();
-svg& image_size(unsigned int x, unsigned int y);
+svg& size(unsigned int x, unsigned int y);
 
 // Information about the image file: description, title, copyright and date.
 svg& description(const std::string d);

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/settings.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/settings.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/settings.qbk 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,3 +1,8 @@
+This is now superceeded by Doxygen embedded reference setion. Feb 2009
+
+DO NOT USE!
+
+
 [section:settings Show settings Public Interface]
 
 [table SVG and Plot Settings that can be Discovered and Shown

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_full_layout.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_full_layout.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_full_layout.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,7 +1,9 @@
 /*! \file 1d_full_layout.cpp
     \brief Example of 1 D plot of 3 different STL container types using several layout features.
- \detail creates file 1d_complex.svg
+ \details creates file 1d_complex.svg
+ \author Jacob Voytko
 
+ \date 2007
 */
 
 // Copyright Jacob Voytko 2007
@@ -13,9 +15,9 @@
 
 #include <boost/svg_plot/svg_1d_plot.hpp>
 using namespace boost::svg;
-
 #include <boost/array.hpp>
   using boost::array;
+
 #include <vector>
   using std::vector;
 #include <deque>
@@ -23,8 +25,6 @@
 #include <cmath>
   using std::sqrt;
 
-//
-
 double f(double x)
 {
   return sqrt(x);
@@ -57,7 +57,7 @@
   svg_1d_plot my_plot;
 
   // Size/scale settings.
- my_plot.image_size(500, 350)
+ my_plot.size(500, 350)
          .x_range(-3, 10);
 
   // Text settings.
@@ -69,7 +69,7 @@
   my_plot.legend_on(true)
          .plot_window_on(true)
          .x_label_on(true)
- .x_major_value_labels_side(true);
+ .x_major_labels_side(true);
 
   // Color settings.
   my_plot.background_color(svg_color(67, 111, 69))
@@ -89,11 +89,11 @@
   // Legend settings.
   my_plot.legend_title_font_size(15);
 
- my_plot.plot(data1, "Lions", blue);
- my_plot.plot(data2, "Tigers", orange);
- my_plot.plot(data3, "Bears", red);
+ my_plot.plot(data1, "Lions").stroke_color(blue);
+ my_plot.plot(data2, "Tigers").stroke_color(orange);
+ my_plot.plot(data3, "Bears").stroke_color(red);
 
- my_plot.write("./1d_complex.svg");
+ my_plot.write("./1d_full_layout.svg");
 
   return 0;
 } // int main()

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,9 @@
 /*! \file 1d_simple.cpp
     \brief Example of a simple 1D plot of two vectors of data.
- \detail Creates file 1d_simple.svg
+ \details Creates file 1d_simple.svg
 
     \author Jacob Voytko
+ \date 2007
   */
 
 // Copyright Jacob Voytko 2007
@@ -13,8 +14,8 @@
 #include <boost/svg_plot/svg_1d_plot.hpp>
 #include <vector>
 
-using std::vector;
 using namespace boost::svg;
+using std::vector;
 
 int main()
 {
@@ -28,13 +29,12 @@
 
   svg_1d_plot my_plot;
 
- my_plot.background_border_color(black)
- .legend_on(true)
+ my_plot.legend_on(true)
          .title("Race Times")
          .x_range(-1, 11);
 
- my_plot.plot(dan_times, "Dan", blue);
- my_plot.plot(elaine_times, "Elaine", orange);
+ my_plot.plot(dan_times, "Dan").stroke_color(blue);
+ my_plot.plot(elaine_times, "Elaine").stroke_color(orange);
 
   my_plot.write("./1d_simple.svg");
   return 0;

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple_style.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple_style.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_simple_style.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,16 @@
-// 1d_simple_example.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file 1d_simple_style.cpp
+
+ \brief Simple 1D plot from two vectors of doubles.
+
+ \author Jacob Voytko
+
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
+
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_1d_plot.hpp>
 #include <vector>
@@ -12,26 +20,25 @@
 
 int main()
 {
- vector<double> dan_times;
- vector<double> elaine_times;
-
- dan_times.push_back(3.1);
- dan_times.push_back(4.2);
- elaine_times.push_back(2.1);
- elaine_times.push_back(7.8);
-
- svg_1d_plot my_plot;
-
- my_plot.background_border_color(black)
- .legend_on(true)
- .title("Race Times")
- .x_range(-1, 11);
-
- my_plot.plot(dan_times, "Dan", blue);
- my_plot.plot(elaine_times, "Elaine", orange);
+ vector<double> dan_times;
+ vector<double> elaine_times;
 
- my_plot.load_stylesheet("./style.css");
+ dan_times.push_back(3.1);
+ dan_times.push_back(4.2);
+ elaine_times.push_back(2.1);
+ elaine_times.push_back(7.8);
+
+ svg_1d_plot my_plot;
+
+ my_plot.background_border_color(black)
+ .legend_on(true)
+ .title("Race Times")
+ .x_range(-1, 11);
+
+ my_plot.plot(dan_times, "Dan").stroke_color(blue);
+ my_plot.plot(elaine_times, "Elaine").stroke_color(orange);
+
+ my_plot.write("./1d_simple_style.svg");
+ return 0;
+} // int main()
 
- my_plot.write("./1d_simple_style.svg");
- return 0;
-}

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_external.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_external.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_external.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,16 @@
-// 1d_x_external.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file 1d_x_external.cpp
+
+ \brief Simple 1D plot from two vectors of doubles .
+
+ \author Jacob Voytko
+
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
+
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_1d_plot.hpp>
 #include <vector>
@@ -33,19 +41,20 @@
     my_plot.x_major_grid_on(true)
            .x_minor_grid_on(true);
 
-
     // Styling grid.
     my_plot.x_major_grid_color(black)
            .x_minor_grid_color(lightgray);
 
- my_plot.x_ticks_down(true); // external.
- my_plot.y_ticks_left(true); // external.
+ // External style
+ my_plot.x_ticks_on_window_or_axis(-1); // on bottom, not on axis.
 
     // Write to plot.
- my_plot.plot(dan_times, "Dan", blue);
- my_plot.plot(elaine_times, "Elaine", orange);
+ my_plot.plot(dan_times, "Dan").stroke_color(blue);
+ my_plot.plot(elaine_times, "Elaine").stroke_color(orange);
 
     // Write to file.
     my_plot.write("./1d_x_external.svg");
   return 0;
-}
+} // int main()
+
+

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_grid.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_grid.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/1d_x_grid.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,15 @@
-// 1d_x_grid.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file 1d_x_grid.cpp
+
+ \brief Simple 1D plot with x axis grid.
+
+ \author Jacob Voytko
+
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_1d_plot.hpp>
 #include <vector>
@@ -12,37 +19,37 @@
 
 int main()
 {
- vector<double> dan_times;
- vector<double> elaine_times;
+ vector<double> dan_times;
+ vector<double> elaine_times;
+
+ dan_times.push_back(3.1);
+ dan_times.push_back(4.2);
+ elaine_times.push_back(2.1);
+ elaine_times.push_back(7.8);
+
+ svg_1d_plot my_plot;
+
+ // Adding generic settings.
+ my_plot.background_border_color(black)
+ .legend_on(true)
+ .plot_window_on(true)
+ .title("Race Times")
+ .x_range(-1, 11);
+
+ // Adding grids.
+ my_plot.x_major_grid_on(true)
+ .x_minor_grid_on(true);
+
+ // Styling the grid lines.
+ my_plot.x_major_grid_color(black)
+ .x_minor_grid_color(lightgray);
+
+ // Write to plot.
+ my_plot.plot(dan_times, "Dan").stroke_color(blue);
+ my_plot.plot(elaine_times, "Elaine").stroke_color(orange);
+
+ // Write to file.
+ my_plot.write("./1d_x_grid.svg");
+ return 0;
+} // int main()
 
- dan_times.push_back(3.1);
- dan_times.push_back(4.2);
- elaine_times.push_back(2.1);
- elaine_times.push_back(7.8);
-
- svg_1d_plot my_plot;
-
- // Adding generic settings.
- my_plot.background_border_color(black)
- .legend_on(true)
- .plot_window_on(true)
- .title("Race Times")
- .x_range(-1, 11);
-
- // Adding grid information.
- my_plot.x_major_grid_on(true)
- .x_minor_grid_on(true);
-
-
- // Styling grid.
- my_plot.x_major_grid_color(black)
- .x_minor_grid_color(lightgray);
-
- // WRite to plot.
- my_plot.plot(dan_times, "Dan", blue);
- my_plot.plot(elaine_times, "Elaine", orange);
-
- // Write to file.
- my_plot.write("./1d_x_grid.svg");
- return 0;
-}

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -4,7 +4,6 @@
   \author Jacob Voytko
 */
 
-
 // Copyright Jacob Voytko 2007
 // Copyright Paul A. Bristow 2008
 
@@ -56,7 +55,7 @@
         svg_2d_plot my_plot;
 
         // Size/scale settings.
- my_plot.image_size(700, 500)
+ my_plot.size(700, 500)
                .x_range(-1, 10)
                .y_range(-75, 75);
 
@@ -106,7 +105,7 @@
   std::cout << "s_tan.area_fill() " << s_tan.area_fill() << std::endl;
   std::cout << my_plot.title() << std::endl;
 
- my_plot.write("./2d_area_fill.svg");
+ my_plot.write("./2d_area_fill_1.svg");
   std::cout << my_plot.title() << std::endl;
 
   //
@@ -114,8 +113,7 @@
         my_plot.plot(data_cos, "cos(x)").area_fill(green).shape(square).fill_color(red);
   my_plot.write("./2d_area_fill_2.svg");
 
-
- return 0;
+ return 0;
 } // int main()
 
 /*
@@ -130,7 +128,4 @@
 s_cos.area_fill() blank
 s_tan.area_fill() blank
 
-
-
-
 */

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_bezier.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_bezier.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_bezier.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,89 +1,93 @@
-// 2d_bezier.cpp
+/*! \file 2d_bezier.cpp
+ \brief Simple 2D plot using bezier curves.
+ \author Jacob Voytko
+ \date 2007
+*/
+
 // Copyright (C) Jacob Voytko 2007
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_2d_plot.hpp>
+using namespace boost::svg;
+
 #include <map>
 #include <cmath>
-
 using std::map;
-using namespace boost::svg;
 
 double f(double x)
 {
- return sin(x);
+ return sin(x);
 }
 
 double g(double x)
 {
- return cos(x);
+ return cos(x);
 }
 
 int main()
 {
- map<double, double> data1, data2;
-
- double inter = 3.14159265 / 8.;
-
- for(double i=0; i<=10.; i+=inter)
- {
- data1[i] = f(i);
- data2[i] = g(i);
- }
-
- svg_2d_plot my_plot;
-
- // Size/scale settings.
- my_plot.image_size(700, 500)
- .x_range(-.5, 10.5)
- .y_range(-1.1, 1.1);
-
-
- // Text settings.
- my_plot.title("Plot of trig functions")
- .title_font_size(29)
- .x_label("X Axis Units")
- .y_major_value_labels_side(true)
- .y_major_grid_on(true);
-
- // Commands.
- my_plot.legend_on(true)
- .plot_window_on(true)
- .x_label_on(true)
- .x_major_labels_on(true);
-
- // Color settings.
- my_plot.background_color(svg_color(67, 111, 69))
- .legend_background_color(svg_color(207, 202,167))
- .legend_border_color(svg_color(102, 102, 84))
- .plot_background_color(svg_color(136, 188, 126))
- .title_color(white)
- .y_major_grid_color(black);
-
- //X axis settings.
- my_plot.x_major_interval(2)
- .x_major_tick_length(14)
- .x_major_tick_width(1)
- .x_minor_tick_length(7)
- .x_minor_tick_width(1)
- .x_num_minor__ticks(3)
-
- //Y axis settings.
- .y_major_interval(25)
- .y_num_minor_ticks(5);
-
- //legend settings
- my_plot.legend_title_font_size(15);
-
- my_plot.plot(data1, "Sin(x)", point_style = circle,
- bezier_on = true, size = 5, fill_color = yellow);
+ map<double, double> data1, data2;
 
- my_plot.plot(data2, "Cos(x)", point_style = square,
- bezier_on = true, size = 5, fill_color = red);
+ double inter = 3.14159265 / 8.;
 
- my_plot.write("D:\\2d_bezier.svg");
+ for(double i=0; i<=10.; i+=inter)
+ {
+ data1[i] = f(i);
+ data2[i] = g(i);
+ }
+
+ svg_2d_plot my_plot;
+
+ // Size/scale settings.
+ my_plot.size(700, 500)
+ .x_range(-.5, 10.5)
+ .y_range(-1.1, 1.1);
+
+
+ // Text settings.
+ my_plot.title("Plot of trig functions")
+ .title_font_size(29)
+ .x_label("X Axis Units")
+ .y_major_labels_side(-1)
+ .y_major_grid_on(true);
+
+ // Commands.
+ my_plot.legend_on(true)
+ .plot_window_on(true)
+ .x_label_on(true);
+
+ // Color settings.
+ my_plot.background_color(svg_color(67, 111, 69))
+ .legend_background_color(svg_color(207, 202,167))
+ .legend_border_color(svg_color(102, 102, 84))
+ .plot_background_color(svg_color(136, 188, 126))
+ .title_color(white)
+ .y_major_grid_color(black);
+
+ // X axis settings.
+ my_plot.x_major_interval(2)
+ .x_major_tick_length(14)
+ .x_major_tick_width(1)
+ .x_minor_tick_length(7)
+ .x_minor_tick_width(1)
+ .x_num_minor_ticks(3)
+
+ // Y axis settings.
+ .y_major_interval(25)
+ .y_num_minor_ticks(5);
+
+ // legend settings
+ my_plot.legend_title_font_size(15);
+
+ my_plot.plot(data1, "Sin(x)").shape(round)
+ .bezier_on(true).size(5).fill_color(yellow);
+
+ my_plot.plot(data2, "Cos(x)").shape(square)
+ .bezier_on(true).size(5).fill_color(red);
+
+ my_plot.write("./2d_bezier.svg");
+
+ return 0;
+} // int main()
 
- return 0;
-}

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_full.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_full.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_full.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,88 +1,93 @@
-// 2d_full.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file 2d_full.cpp
+ \brief 2D plot of functions from map of doubles showing use of more options.
+ \author Jacob Voytko
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_2d_plot.hpp>
-#include <map>
-#include <cmath>
+using namespace boost::svg;
 
+#include <map>
 using std::map;
-using namespace boost::svg;
+#include <cmath>
+using ::sqrt;
 
+// Some functions to plot.
 double f(double x)
 {
- return sqrt(x);
+ return sqrt(x);
 }
 
 double g(double x)
 {
- return -2 + x*x;
+ return -2 + x*x;
 }
 
 double h(double x)
 {
- return -1 + 2*x;
+ return -1 + 2*x;
 }
 
 int main()
 {
- map<double, double> data1, data2, data3;
-
- for(double i=0; i<=10.; i+=1.)
- {
- data1[i] = f(i);
- data2[i] = g(i);
- data3[i] = h(i);
- }
-
- svg_2d_plot my_plot;
-
- // Size/scale settings.
- my_plot.image_size(700, 500)
- .x_range(-1, 10)
- .y_range(-5, 100);
-
- // Text settings.
- my_plot.title("Plot of Mathematical Functions")
- .title_font_size(29)
- .x_label("X Axis Units");
-
- // Commands.
- my_plot.legend_on(true)
- .plot_window_on(true)
- .x_label_on(true)
- .x_major_value_labels_side(true);
-
- // Color settings.
- my_plot.background_color(svg_color(67, 111, 69))
- .legend_background_color(svg_color(207, 202,167))
- .legend_border_color(svg_color(102, 102, 84))
- .plot_background_color(svg_color(136, 188, 126))
- .title_color(white);
-
- //X axis settings.
- my_plot.x_major_interval(2)
- .x_major_tick_length(14)
- .x_major_tick_width(1)
- .x_minor_tick_length(7)
- .x_minor_tick_width(1)
- .x_num_minor__ticks(3)
-
- //Y axis settings.
- .y_major_interval(10)
- .y_num_minor_ticks(3);
-
- //legend settings
- my_plot.legend_title_font_size(15);
-
- my_plot.plot(data1, "Sqrt(x)", red);
- my_plot.plot(data2, "-2 + x^2", orange);
- my_plot.plot(data3, "-1 + 2x", yellow,
- point_style = square, size = 5);
+ map<double, double> data1, data2, data3;
 
- my_plot.write("./2d_full.svg");
+ for(double i=0; i<=10.; i+=1.)
+ {
+ data1[i] = f(i);
+ data2[i] = g(i);
+ data3[i] = h(i);
+ }
+
+ svg_2d_plot my_plot;
+
+ // Size/scale settings.
+ my_plot.size(700, 500)
+ .x_range(-1, 10)
+ .y_range(-5, 100);
+
+ // Text settings.
+ my_plot.title("Plot of Mathematical Functions")
+ .title_font_size(29)
+ .x_label("X Axis Units");
+
+ // Commands.
+ my_plot.legend_on(true)
+ .plot_window_on(true)
+ .x_label_on(true)
+ .x_major_labels_side(true);
+
+ // Color settings.
+ my_plot.background_color(svg_color(67, 111, 69))
+ .legend_background_color(svg_color(207, 202,167))
+ .legend_border_color(svg_color(102, 102, 84))
+ .plot_background_color(svg_color(136, 188, 126))
+ .title_color(white);
+
+ //X axis settings.
+ my_plot.x_major_interval(2)
+ .x_major_tick_length(14)
+ .x_major_tick_width(1)
+ .x_minor_tick_length(7)
+ .x_minor_tick_width(1)
+ .x_num_minor_ticks(3)
+
+ //Y axis settings.
+ .y_major_interval(10)
+ .y_num_minor_ticks(3);
+
+ //legend settings
+ my_plot.legend_title_font_size(15);
+
+ my_plot.plot(data1, "Sqrt(x)").stroke_color(red);
+ my_plot.plot(data2, "-2 + x^2").stroke_color(orange);
+ my_plot.plot(data3, "-1 + 2x").stroke_color(yellow).shape(square).size(5);
 
- return 0;
-}
+ my_plot.write("./2d_full.svg");
+
+ return 0;
+} // int main()

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_limit.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_limit.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_limit.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,15 @@
-// 2d_limit.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file 2d_limit.cpp
+
+ \brief Simple 2D plot show values at limit.
+
+ \author Jacob Voytko
+
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_2d_plot.hpp>
 #include <map>
@@ -12,58 +19,58 @@
 using namespace boost::svg;
 
 double f(double x)
-{
- return 1. / x;
+{ // Function to plot.
+ return 1. / x;
 }
 
 int main()
 {
- map<double, double> data1;
-
- double inter = .5;
-
- for(double i = -10; i <= 10.; i += inter)
- {
- data1[i] = f(i);
- }
-
- svg_2d_plot my_plot;
-
- // Size/scale settings.
- my_plot.image_size(500, 350)
- .x_range(-10.5, 10.5)
- .y_range(-1.1, 1.1);
-
-
- // Text settings.
- my_plot.title("Plot of 1 / x")
- .x_label("X Axis Units")
- .y_major_value_labels_side(true)
+ map<double, double> data1;
+
+ double inter = 0.5;
+
+ for(double i = -10; i <= 10.; i += inter)
+ {
+ data1[i] = f(i);
+ }
+
+ svg_2d_plot my_plot;
+
+ // Size/scale settings.
+ my_plot.size(500, 350)
+ .x_range(-10.5, 10.5)
+ .y_range(-1.1, 1.1);
+
+
+ // Text settings.
+ my_plot.title("Plot of 1 / x")
+ .x_label("X Axis Units")
+ .y_major_labels_side(true)
            .y_major_grid_on(true);
-
- // Commands.
- my_plot.plot_window_on(true)
- .x_major_value_labels_side(true);
-
- //X axis settings.
- my_plot.x_major_interval(2)
- .x_major_tick_length(14)
- .x_major_tick_width(1)
- .x_minor_tick_length(7)
- .x_minor_tick_width(1)
- .x_num_minor__ticks(3)
-
- //Y axis settings.
- .y_major_interval(25)
- .y_num_minor_ticks(5);
-
- //legend settings
- my_plot.legend_title_font_size(15);
-
- my_plot.plot(data1, "1 / x", point_style = square,
- size = 5, line_on = false);
 
- my_plot.write("D:\\2d_limit.svg");
+ // Commands.
+ my_plot.plot_window_on(true)
+ .x_major_labels_side(true);
+
+ //X axis settings.
+ my_plot.x_major_interval(2)
+ .x_major_tick_length(14)
+ .x_major_tick_width(1)
+ .x_minor_tick_length(7)
+ .x_minor_tick_width(1)
+ .x_num_minor_ticks(3)
+
+ //Y axis settings.
+ .y_major_interval(25)
+ .y_num_minor_ticks(5);
+
+ //legend settings
+ my_plot.legend_title_font_size(15);
+
+ my_plot.plot(data1, "1 / x").shape(square).size (5).line_on(false);
+
+ my_plot.write("./2d_limit.svg");
+
+ return 0;
+} // int main()
 
- return 0;
-}

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_simple.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_simple.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_simple.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,15 @@
-// 2d_simple.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file 2d_simple.cpp
+
+ \brief Simple 2D plot.
+
+ \author Jacob Voytko
+
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_2d_plot.hpp>
 #include <vector>
@@ -12,27 +19,27 @@
 
 int main()
 {
- map<double, double> map1;
- map<double, double> map2;
+ map<double, double> map1;
+ map<double, double> map2;
 
- // This is random data used purely for example purposes.
- map1[1.] = 3.2;
- map1[2.] = 5.4;
- map1[7.3] = 9.1;
-
- map2[3.1] = 6.1;
- map2[5.4] = 7.;
-
- svg_2d_plot my_plot;
-
- my_plot.title("Race Times")
- .legend_on(true)
- .x_range(-1, 11)
- .background_border_color(black);
+ // This is random data used purely for example.
+ map1[1.] = 3.2;
+ map1[2.] = 5.4;
+ map1[7.3] = 9.1;
+
+ map2[3.1] = 6.1;
+ map2[5.4] = 7.;
+
+ svg_2d_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);
- my_plot.plot(map2, "Series 2", orange);
+ my_plot.plot(map1, "Series 1").stroke_color(blue);
+ my_plot.plot(map2, "Series 2").stroke_color(orange);
 
     my_plot.write("./simple_2d.svg");
- return 0;
-}
+ return 0;
+} // int main()

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_y_grid.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_y_grid.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_y_grid.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,15 @@
-// 2d_y_grid.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file 2d_y_grid.cpp
+
+ \brief 2D plot with Y axis grids.
+
+ \author Jacob Voytko
+
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <boost/svg_plot/svg_2d_plot.hpp>
 #include <vector>
@@ -12,23 +19,23 @@
 
 int main()
 {
- map<double, double> map1;
- map<double, double> map2;
+ map<double, double> map1;
+ map<double, double> map2;
 
- // This is random data used purely for example purposes.
- map1[1.] = 3.2;
- map1[2.] = 5.4;
- map1[7.3] = 9.1;
-
- map2[3.1] = 6.1;
- map2[5.4] = 7.;
-
- svg_2d_plot my_plot;
-
- my_plot.title("Race Times")
- .legend_on(true)
- .x_range(-1, 11)
- .background_border_color(black)
+ // This is random data used purely for example.
+ map1[1.] = 3.2;
+ map1[2.] = 5.4;
+ map1[7.3] = 9.1;
+
+ map2[3.1] = 6.1;
+ map2[5.4] = 7.;
+
+ svg_2d_plot my_plot;
+
+ my_plot.title("Race Times")
+ .legend_on(true)
+ .x_range(-1, 11)
+ .background_border_color(black)
            .plot_window_on(true);
 
     my_plot.y_major_grid_on(true)
@@ -38,9 +45,9 @@
        .y_minor_grid_color(lightgray);
 
 
- my_plot.plot(map1, "Series 1", blue);
- my_plot.plot(map2, "Series 2", orange);
+ my_plot.plot(map1, "Series 1").stroke_color(blue);
+ my_plot.plot(map2, "Series 2").stroke_color(orange);
 
     my_plot.write("./2d_y_grid.svg");
- return 0;
-}
+ return 0;
+} // int main()

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_containers.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_containers.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_containers.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,8 @@
-/*!
- \file auto_1d_containers.cpp
+/*! \file auto_1d_containers.cpp
  \brief Example to demonstrate autoscaling with *multiple* STL containers.
  \details See also auto_1d_plot.cpp and auto_1d_container.cpp.
 
+ \date Feb 2009
  \author Paul A Bristow
  */
 

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_plot.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_plot.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_1d_plot.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,4 +1,11 @@
-// auto_1d_plot.cpp
+/*! \file auto_1d_plot.cpp
+ \brief An example to demonstrate simple 1D settings, including auto-scaling.
+ \details See auto_1d_containers.cpp for an example autoscaling with multiple data series.
+ See also demo_1d_plot.cpp for a wider range of use.
+
+ \author Paul A Bristow
+ \date Feb 2009
+*/
 
 // Copyright Jacob Voytko 2007
 // Copyright Paul A Bristow 2008
@@ -8,10 +15,6 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// An example to demonstrate simple 1D settings, including *auto-scaling*.
-// See auto_1d_containers.cpp for an example autoscaling with multiple data series.
-// See also demo_1d_plot.cpp for a wider range of use.
-
 // This file is written to be included from a Quickbook .qbk document.
 // It can be compiled by the C++ compiler, and run. Any output can
 // also be added here as comment or included or pasted in elsewhere.

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_2d_plot.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_2d_plot.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_2d_plot.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,4 +1,12 @@
-// auto_2d_plot.cpp
+/*! \file auto_2d_plot.cpp
+
+ \brief An example to demonstrate autoscaling with *multiple* STL containers.
+ \details See also auto_1d_plot.cpp and auto_1d_container.cpp.
+
+ \author Paul A Bristow
+
+ \date 2009
+*/
 
 // Copyright Paul A Bristow 2008
 
@@ -7,9 +15,6 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// An example to demonstrate autoscaling with *multiple* STL containers.
-// See also auto_1d_plot.cpp and auto_1d_container.cpp.
-
 // Caution: this file contains Quickbook markup as well as code
 // and comments: don't change any of the special comment markups!
 
@@ -70,47 +75,47 @@
   /*`This example uses a single map to demonstrate autoscaling.
   We create a map to hold our data series.
   */
- map<const double, double> my_map;
+ map<const double, double> my_map;
   /*`
   Inserting some fictional values also sorts the data.
   The index value in [] is the x value.
   */
- my_map[1.1] = 3.2;
- my_map[7.3] = 9.1;
- my_map[2.1] = 5.4;
+ my_map[1.1] = 3.2;
+ my_map[7.3] = 9.1;
+ my_map[2.1] = 5.4;
 
 /*`Also include some 'limits' values that would confuse autoscaling.
 */
- my_map[99.99] = numeric_limits<double>::quiet_NaN();
- my_map[999.9] = numeric_limits<double>::infinity();
- my_map[999.] = +numeric_limits<double>::infinity();
+ my_map[99.99] = numeric_limits<double>::quiet_NaN();
+ my_map[999.9] = numeric_limits<double>::infinity();
+ my_map[999.] = +numeric_limits<double>::infinity();
 
 
   /*`Next a 2D plot is created using defaults for the very many possible settings.
   */
- svg_2d_plot my_plot;
+ svg_2d_plot my_plot;
 
   /*`Add at least a title,
   specify the both x and y axes are to use autoscaling,
   and add the one data series to plotted.
   */
- my_plot.title("Autoscale example");
+ my_plot.title("Autoscale example");
   //my_plot.autoscale_check_limits(false); // Skip checks for speed.
   // Will fail at run-time if any infinite or NaNs.
 
   // my_plot.y_autoscale(0., 9.); // autoscale using two doubles.
- my_plot.xy_autoscale(my_map);
+ my_plot.xy_autoscale(my_map);
 
- my_plot.plot(my_map);
+ my_plot.plot(my_map);
   /*`Finally write the SVG image to a file. */
   my_plot.write("./auto_2d_plot.svg");
 
- cout << "X min " << my_plot.x_range().first << ", X max " << my_plot.x_range().second << endl;
- cout << "Y min " << my_plot.y_range().first << ", Y max " << my_plot.y_range().second << endl;
+ cout << "X min " << my_plot.x_range().first << ", X max " << my_plot.x_range().second << endl;
+ cout << "Y min " << my_plot.y_range().first << ", Y max " << my_plot.y_range().second << endl;
 
 //] [/auto_2d_plot_2]
 
- return 0;
+ return 0;
 }
 
 /*
@@ -157,7 +162,7 @@
  // int axis_ticks;
 
  // multiset<double> my_set;
- //// Initialize my_set with some entirely fictional data.
+ //// Initialize my_set with some entirely fictional data.
  // my_set.insert(1.2);
  // my_set.insert(2.3);
  // my_set.insert(3.4);

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_boxplot.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_boxplot.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_boxplot.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,12 +1,12 @@
 /*! \file auto_boxplot.cpp
 
- \brief
- An example to demonstrate boxplot settings, including *auto-scaling*. See also
- \example auto_boxcontainers.cpp
- for an example autoscaling with multiple data series.
- \example demo_boxplot.cpp for a wider range of use.
+ \brief An example to demonstrate boxplot settings, including auto-scaling.
+ \details See also:
+ example auto_1d_containers.cpp
+ for an example autoscaling with multiple data series.
+ example demo_boxplot.cpp for a wider range of use.
 
- \date 11 feb 2009
+ \date 11 Feb 2009
   \author Paul A Bristow
 /*
 

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_full.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_full.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_full.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,15 @@
-// boxplot_full.cpp
-// Copyright (C) Jacob Voytko 2007
+/*! \file boxplot_full.cpp
+
+ \brief More complex boxplot plot.
+
+ \author Jacob Voytko
+
+ \date 2007
+*/
+
+// Copyright Jacob Voytko 2007
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
-// -----------------------------------------------------------------
 
 #include <vector>
 #include <cmath>
@@ -61,4 +68,5 @@
 
     my_plot.write("boxplot_full.svg");
     return 0;
-}
+} // int main()
+

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_simple.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_simple.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/boxplot_simple.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,4 +1,13 @@
-// boxplot_simple.cpp
+/*! \file boxplot_simple.cpp
+
+ \brief An example to demonstrate simplest use of boxplot.\n
+ See also boxplot_full.cpp for a wider range of use.
+
+
+ \author Paul A Bristow
+
+ \date 2009
+*/
 
 // Copyright Jacob Voytko 2007
 // Copyright Paul A. Bristow 2008
@@ -8,9 +17,6 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// An example to demonstrate simplest use of boxplot.
-// See also boxplot_full.cpp for a wider range of use.
-
 // This file is written to be included from a Quickbook .qbk document.
 // It can be compiled by the C++ compiler, and run. Any output can
 // also be added here as comment or included or pasted in elsewhere.
@@ -21,7 +27,7 @@
 //[boxplot_1d_1
 
 /*`
-Boxplot is a convenient way of graphically depicting groups of numerical data
+Boxplot is a convenient way of graphically depicting groups of numerical data
 through their five-number summaries.
 Show 1st quartile, median and 3rd quartile as a box, outliers and extreme outliers.
 
@@ -103,7 +109,7 @@
 
 /* cout << "my_boxplot.title " << my_boxplot.title() << endl;
   cout << "my_boxplot.x_label_text "<< my_boxplot.x_label_text() << endl;
- cout << "my_boxplot.y_label_text " << my_boxplot.y_label_text() << endl;
+ cout << "my_boxplot.y_label_text " << my_boxplot.y_label_text() << endl;
 
   cout << "my_boxplot.background_color " << my_boxplot.background_color() << endl;
   cout << "my_boxplot.background_border_color " << my_boxplot.background_border_color() << endl;

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/container_minmax.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/container_minmax.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/container_minmax.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,6 +1,6 @@
 /*! \file container_minmax.cpp
     \brief Finding minmax of an STL container.
- \author Paul A Bristow
+ \author Paul A Bristow
 */
 
 // Copyright Paul A Bristow 2008
@@ -10,7 +10,6 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-
 #ifdef _MSC_VER
 //# pragma warning(disable : 4512) // assignment operator could not be generated
 #endif
@@ -23,7 +22,7 @@
   using std::min_element;
   using std::max_element;
 
-#include <iostream>
+#include <iostream>
   using std::cout;
   using std::endl;
 
@@ -222,8 +221,8 @@
 
 int main()
 {
- vector<double> my_data;
- // Initialize my_data with some entirely fictional data.
+ vector<double> my_data;
+ // Initialize my_data with some entirely fictional data.
   my_data.push_back(0.2);
   my_data.push_back(1.1); // [1]
   my_data.push_back(4.2); // [2]
@@ -285,7 +284,7 @@
   mm = s(my_data); // Display range.
 
   multiset<double> my_set;
- // Initialize my_set with some entirely fictional data.
+ // Initialize my_set with some entirely fictional data.
   my_set.insert(2.3);
   my_set.insert(7.8);
   my_set.insert(3.4);
@@ -301,7 +300,7 @@
     cout << *si << ' ';
   }
   cout << endl;
- cout << my_set.size() << " values in my_set. " << endl; // 8 values in my_set.
+ cout << my_set.size() << " values in my_set. " << endl; // 8 values in my_set.
 
   mm = s(my_set); // Display range.
   cout << mm << endl; // 1.2, 8.9
@@ -309,7 +308,7 @@
 
 
 
- return 0;
+ return 0;
 } // int main()
 
 /*

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_autoscaling.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_autoscaling.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_autoscaling.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,5 +1,12 @@
-// demo_1d_autoscaling.cpp
+/*! \file demo_1d_autoscaling.cpp
 
+ \brief An example to demonstrate simple 1D settings, including auto-scaling.
+ \details
+ See auto_1d_containers.cpp for an example autoscaling with multiple data series.
+ See also demo_1d_plot.cpp for a wider range of use.
+ \author Paul A Bristow
+ \date Feb 2009
+*/
 // Copyright Jacob Voytko 2007
 // Copyright Paul A Bristow 2008
 
@@ -8,10 +15,6 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// An example to demonstrate simple 1D settings, including *auto-scaling*.
-// See auto_1d_containers.cpp for an example autoscaling with multiple data series.
-// See also demo_1d_plot.cpp for a wider range of use.
-
 // This file is written to be included from a Quickbook .qbk document.
 // It can be compiled by the C++ compiler, and run. Any output can
 // also be added here as comment or included or pasted in elsewhere.

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_axis_scaling.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_axis_scaling.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_axis_scaling.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,4 +1,12 @@
-// demo_1d_axis_scaling.cpp
+/*! \file demo_1d_axis_scaling.cpp
+
+ \brief Demonstration of 1D plot with axis scaling.
+ \details See auto_1d_containers.cpp for an example axis_scaling with multiple data series.
+
+ \author Paul A Bristow
+
+ \date 2009
+*/
 
 // Copyright Jacob Voytko 2007
 // Copyright Paul A Bristow 2008
@@ -8,9 +16,6 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// An example to demonstrate use of *axis-scaling*.
-// See auto_1d_containers.cpp for an example axis_scaling with multiple data series.
-
 // This file is written to be included from a Quickbook .qbk document.
 // It can be compiled by the C++ compiler, and run. Any output can
 // also be added here as comment or included or pasted in elsewhere.
@@ -86,8 +91,8 @@
   axis_scaling must inspect the container in order to find axis ranges that will be suitable.
   First we create a container and fill with some fictional data.
   */
- vector<double> my_data;
- // Initialize my_data with some entirely fictional data.
+ vector<double> my_data;
+ // Initialize my_data with some entirely fictional data.
   my_data.push_back(0.2);
   my_data.push_back(1.1); // [1]
   my_data.push_back(4.2); // [2]
@@ -95,14 +100,14 @@
   my_data.push_back(5.4); // [4]
   my_data.push_back(6.5); // [5]
   show(my_data); // Show entire container contents,
- // 6 values in container: 0.2 1.1 4.2 3.3 5.4 6.5
+ // 6 values in container: 0.2 1.1 4.2 3.3 5.4 6.5
 
 //] [/demo_1d_axis_scaling_2]
 
 //[demo_1d_axis_scaling_3
 
   multiset<double> my_set;
- // Initialize my_set with some entirely fictional data.
+ // Initialize my_set with some entirely fictional data.
   my_set.insert(1.2);
   my_set.insert(2.3);
   my_set.insert(3.4);
@@ -114,7 +119,7 @@
   // Show the set.
   multiset<double>::const_iterator si;
   show(my_set); // for two different types of container.
- // 8 values in container: 1.2 2.3 3.4 4.5 5.6 6.7 7.8 8.9
+ // 8 values in container: 1.2 2.3 3.4 4.5 5.6 6.7 7.8 8.9
 
 /*` Show can also display just a part of the container contents.
 */
@@ -192,7 +197,7 @@
     true, false, tol100eps, 6); // Display range.
   cout << "Axis_scaled 6 min " << axis_min_value << ", max = " << axis_max_value << ", increment " << axis_tick_increment << endl;
 
- svg_1d_plot my_1d_plot; // Construct a plot with all the default constructor values.
+ svg_1d_plot my_1d_plot; // Construct a plot with all the default constructor values.
 
   // One could intercept and change any values calculated by scale_axis here?
   // Set the plot to use range and interval from the scale_axis values.
@@ -218,35 +223,35 @@
   // Show the flags just set.
   cout << (my_1d_plot.x_with_zero() ? "x_with_zero, " : "not x_with_zero, ")
     << my_1d_plot.x_min_ticks() << " x_min_ticks, "
- << my_1d_plot.x_steps() << " x_steps, "
+ << my_1d_plot.x_steps() << " x_steps, "
     << my_1d_plot.x_tight() << " tightness." << endl;
 
   my_1d_plot.x_autoscale(my_data); // Use all my_data to autoscale.
   cout << "Axis_scaled " // Show the results of autoscale:
- "min " << my_1d_plot.x_auto_min_value()
- << ", max "<< my_1d_plot.x_auto_max_value()
+ "min " << my_1d_plot.x_auto_min_value()
+ << ", max "<< my_1d_plot.x_auto_max_value()
     << ", interval " << my_1d_plot.x_auto_tick_interval() << endl; // Autoscaled min 0, max 6.5, interval 0.5
 
   my_1d_plot.x_autoscale(my_data.begin(), my_data.end()); // Use all my_data to autoscale.
 
   cout << "Axis_scaled " // Show the results of autoscale:
- "min " << my_1d_plot.x_auto_min_value()
- << ", max "<< my_1d_plot.x_auto_max_value()
+ "min " << my_1d_plot.x_auto_min_value()
+ << ", max "<< my_1d_plot.x_auto_max_value()
     << ", interval " << my_1d_plot.x_auto_tick_interval() << endl; // Autoscaled min 0, max 6.5, interval 0.5
 
   my_1d_plot.x_autoscale(my_data[1], my_data[4]); // Use only part of my_data to autoscale.
 
   cout << "Axis_scaled " // Show the results of autoscale:
- "min " << my_1d_plot.x_auto_min_value()
- << ", max "<< my_1d_plot.x_auto_max_value()
+ "min " << my_1d_plot.x_auto_min_value()
+ << ", max "<< my_1d_plot.x_auto_max_value()
     << ", interval " << my_1d_plot.x_auto_tick_interval() << endl; // Autoscaled min 1, max 5.5, interval 0.5
 
   my_1d_plot.x_autoscale(true); // Ensure autoscale values are used for the plot.
 
   my_1d_plot.plot(my_data, "Auto 1D"); // Add the one data series.
   cout << "Axis_scaled " // Show the results of autoscale:
- " min " << my_1d_plot.x_auto_min_value()
- << ", max "<< my_1d_plot.x_auto_max_value()
+ " min " << my_1d_plot.x_auto_min_value()
+ << ", max "<< my_1d_plot.x_auto_max_value()
     << ", interval " << my_1d_plot.x_auto_tick_interval() << endl; // Autoscaled min 1, max 5.5, interval 0.5
 
   my_1d_plot.plot(my_set.begin(), my_set.end(), "Auto 1D"); // Add another data series from my_set.
@@ -255,7 +260,7 @@
   //my_1d_plot.plot(&my_set[1], &my_set[4], "Auto 1D"); // operator[] is not defined for set container!
 
   my_1d_plot.write("auto_1d_plot.svg"); // Write the plot to file.
-
+
   using boost::svg::detail::operator<<;
   cout << "x_range() " << my_1d_plot.x_range() << endl; // x_range() 1, 5.5
 
@@ -267,10 +272,10 @@
     std::cout <<
       "\n""Message from thrown exception was:\n " << e.what() << std::endl;
   }
-
 
 
- return 0;
+
+ return 0;
 } // int main()
 
 /*
@@ -278,8 +283,8 @@
 //[demo_1d_axis_scaling_output
 
 Autorun "j:\Cpp\SVG\debug\demo_1d_axis_scaling.exe"
-6 values in container: 0.2 1.1 4.2 3.3 5.4 6.5
-8 values in container: 1.2 2.3 3.4 4.5 5.6 6.7 7.8 8.9
+6 values in container: 0.2 1.1 4.2 3.3 5.4 6.5
+8 values in container: 1.2 2.3 3.4 4.5 5.6 6.7 7.8 8.9
 0.2 1.1 4.2 3.3 5.4 : 5 values used.
 1.1 4.2 3.3 5.4 : 4 values used.
 0.2 1.1 4.2 3.3 5.4 6.5 : 6 values used.

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_containers.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_containers.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_containers.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,4 +1,11 @@
-// demo_1d_containers.cpp
+/*! \file demo_1d_containers.cpp
+
+ \brief An example to demonstrate simple 1D settings, with a range of different STL containers.
+
+ \author Paul A Bristow
+
+ \date Feb 2009
+*/
 
 // Copyright Jacob Voytko 2007
 // Copyright Paul A Bristow 2008
@@ -8,7 +15,7 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// An example to demonstrate simple 1D settings,
+// An example to demonstrate simple 1D settings,
 // with a range of different STL containers.
 
 // This file is written to be included from a Quickbook .qbk document.
@@ -48,13 +55,13 @@
 and fictional values are inserted using push_back.
 Since this is a 1-D plot the order of data values is not important.
 */
- vector<float> values;
- values.push_back(3.1f);
- values.push_back(-5.5f);
- values.push_back(8.7f);
- values.push_back(0.5f);
+ vector<float> values;
+ values.push_back(3.1f);
+ values.push_back(-5.5f);
+ values.push_back(8.7f);
+ values.push_back(0.5f);
 
-/*`The constructor initializes a new 1D plot, called `my_plot`, and also sets all the many default values.
+/*`The constructor initializes a new 1D plot, called `my_plot`, and also sets all the many default values.
 */
   svg_1d_plot my_plot;
 
@@ -62,7 +69,7 @@
 Title provides a title at the top for the whole plot,
 and plot adds a (unamed) data series (naming isn't very useful if there is only one data series).
 */
- my_plot.title("vector&lt;float&gt; example");
+ my_plot.title("vector&lt;float&gt; example");
 /*`
 [note One must insert the XML character entity equivalents of &lt; for < and &gt; for >).]
 */
@@ -129,14 +136,14 @@
   values.push_front(5.6);
   values.push_front(7.8);
 
- svg_1d_plot my_plot;
- my_plot.title("deque&lt;double&gt; example");
+ svg_1d_plot my_plot;
+ my_plot.title("deque&lt;double&gt; example");
   my_plot.plot(values);
   my_plot.write("./demo_1d_deque_double.svg");
 //] [/demo_1d_containers_6]
   }
 
- return 0;
+ return 0;
 } // int main()
 
 /*

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_plot.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_plot.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_plot.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,7 +1,9 @@
-/*! \file svg_1d_plot.hpp
+/*! \file demo_1d_plot.cpp
     \brief Demonstration of many features for 1D plots.
     \details Contains Quickbook markup.
 
+ \author Paul A. Bristow
+ \date Feb 2009
 */
 
 // Copyright Jacob Voytko 2007
@@ -48,8 +50,8 @@
 
 int main()
 {
- vector<double> my_data1;
- // Initialize my_data here with some entirely fictional data.
+ vector<double> my_data1;
+ // Initialize my_data here with some entirely fictional data.
   my_data1.push_back(0.1);
   my_data1.push_back(1.1);
   my_data1.push_back(4.2);
@@ -58,19 +60,19 @@
   my_data1.push_back(6.5);
 
   vector<double> my_data2;
- // Initialize my_data here with some more entirely fictional data.
+ // Initialize my_data here with some more entirely fictional data.
   my_data2.push_back(0.5);
   my_data2.push_back(1.5);
   my_data2.push_back(4.7);
 
   vector<double> my_data3;
- // Initialize my_data here with some more entirely fictional data.
+ // Initialize my_data here with some more entirely fictional data.
   my_data3.push_back(0.7);
   my_data3.push_back(2.5);
   my_data3.push_back(5.8);
 
   vector<double> my_data4;
- // Initialize my_data with some integral values so can check points are marked exactly right.
+ // Initialize my_data with some integral values so can check points are marked exactly right.
   my_data4.push_back(1.);
   my_data4.push_back(2.);
   my_data4.push_back(3.);
@@ -91,9 +93,9 @@
   my_data5.push_back(numeric_limits<double>::quiet_NaN());
   my_data5.push_back(numeric_limits<double>::infinity());
 
- svg_1d_plot my_1d_plot; // Construct with all the default constructor values.
+ svg_1d_plot my_1d_plot; // Construct with all the default constructor values.
   cout << "Image x & y " << my_1d_plot.image_x_size() << " by " << my_1d_plot.image_y_size() << endl;
- //my_1d_plot.image_size(100,100); // Alter both together.
+ //my_1d_plot.size(100,100); // Alter both together.
   //cout << "Image x & y " << my_1d_plot.image_x_size() << " by " << my_1d_plot.image_y_size() << endl;
   //// And alter both separately.
   //my_1d_plot.image_x_size(200);
@@ -110,12 +112,12 @@
 
   cout << "font-family was " << my_1d_plot.title_font_family() << endl;
 
- my_1d_plot
+ my_1d_plot
   .image_y_size(250)
   .background_color(ghostwhite) // whole image.
- .background_border_color(aqua) //
- .background_border_width(10.) //
- .plot_window_on(true) //
+ .background_border_color(aqua) //
+ .background_border_width(10.) //
+ .plot_window_on(true) //
   .plot_background_color(aliceblue) // just the plot area.
   .plot_border_color(pink)
   .plot_border_width(5.)
@@ -124,10 +126,10 @@
   .title_font_size(20)
   .title_font_family("Times New Roman")
   .title_color(magenta)
- .legend_on(true)
+ .legend_on(true)
   .legend_background_color(beige)
   .legend_border_color(chocolate)
- .legend_title("My Legend &#956;") // generates <em>&#956;</em> greek mu
+ .legend_title("My Legend &#956;") // generates <em>&#956;</em> greek mu
   .legend_title_font_size(12)
   .legend_font_family("arial") // "arial", "impact", "courier", "lucida console", "Lucida sans unicode", "verdana"
   .legend_font_weight("bold")
@@ -137,16 +139,16 @@
   .x_label("volume") // Care: this doesn't show unless .x_label_on() == true!
   .x_axis_color(blue)
   .x_label_color(blue)
- .x_label_font_family("Verdana")
-// .x_label_font_family("Lucida sans unicode")
-// .x_label_font_family("Times New Roman")
+ .x_label_font_family("Verdana")
+// .x_label_font_family("Lucida sans unicode")
+// .x_label_font_family("Times New Roman")
   .x_label_units_on(true)
   .x_label_font_size(12)
   .x_label_units(" (meter&#179; or m&#179;)") // super 2 = &#xB2; super 3 = &#179;
   // Note you must provide any space and any brackets if required.
   // Care: this doesn't show unless .x_label_units_on() == true!
- // Ticks
- .x_ticks_up_on(true) //
+ // Ticks
+ .x_ticks_up_on(true) //
   .x_ticks_down_on(true) // So have Up and downward ticks.
   // Add grid - not very useful for 1D.
   .x_major_tick_width(3)
@@ -154,19 +156,19 @@
   .x_minor_tick_length(7)
   .x_major_grid_on(true)
   .x_major_grid_width(2)
- .x_major_grid_color(lightblue)
+ .x_major_grid_color(lightblue)
   .x_minor_grid_on(true)
   .x_minor_grid_width(1)
   .x_minor_grid_color(pink)
   .x_ticks_on_window_or_axis(0) // -1 bottom, 0 on axis, +1 top
 
- .x_range(-1., 7.); // Display range.
+ .x_range(-1., 7.); // Display range.
 
- //my_1d_plot.plot(my_data1, "my values 1");
+ //my_1d_plot.plot(my_data1, "my values 1");
 
- //my_1d_plot.plot(my_data2, "my values round").shape(round).size(10).fill_color(pink);
+ //my_1d_plot.plot(my_data2, "my values round").shape(round).size(10).fill_color(pink);
 
- //my_1d_plot.plot(my_data1, "my values 1").shape(vertical_tick);
+ //my_1d_plot.plot(my_data1, "my values 1").shape(vertical_tick);
 
   //my_1d_plot.plot(my_data2, "my red values ").stroke_color(red).fill_color(blue);
 
@@ -182,7 +184,7 @@
 
 //] [/demo_1d_plot_1]
 
- return 0;
+ return 0;
 } // int main()
 
 /*

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_values.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_values.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_1d_values.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,6 +1,7 @@
-/*! \file demo_1d_values.hpp
+/*! \file demo_1d_values.cpp
     \brief Demonstration of some simple 1D value formatting.
     \details Quickbook markup to include in documentation.
+ \date 11 Feb 2009
 
     \author Paul A. Bristow
 */

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_bars.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_bars.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_bars.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,16 +1,15 @@
-/*! \file demo 2d_bar.cpp
+/*! \file demo_2d_bars.cpp
     \brief Demonstrate the bars (& columns or sticks).
     \details
+ \date 11 Feb 2009
     \author Paul A. Bristow
- */
+*/
 
 // Copyright Paul A. Bristow 2008
 
 // Distributed under the Boost Software License, Version 1.0.
 // For more information, see http://www.boost.org
 
-// Demonstrate the bars (& columns or sticks).
-
 #include <boost/svg_plot/svg_2d_plot.hpp>
 #include <map>
 

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_histogram.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_histogram.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_histogram.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,4 +1,4 @@
-/*! \file demo 2d_histogram.cpp
+/*! \file demo_2d_histogram.cpp
     \brief Demonstrate drawing histogram as SVG files.
     \details
      Demonstrate drawing histogram as SVG files.

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_plot.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_plot.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_plot.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -104,7 +104,7 @@
 
   svg_2d_plot my_plot;
   // Size/scale settings.
- my_plot.image_size(700, 500);
+ my_plot.size(700, 500);
   //my_plot.legend_top_left(175, 100);
   my_plot.title(title)
           .title_font_size(20)

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_values.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_values.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_values.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,7 +1,8 @@
-/*! \file demo_2d_values.hpp
+/*! \file demo_2d_values.cpp
     \brief Demonstration of marking values in 2D plots.
     \details Contains Quickbook Markup to be included in documentation.
 
+ \date 11 Feb 2009
     \author Jacob Voytko and Paul A. Bristow
 */
 // Copyright Jacob Voytko 2007

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_Hoaglin.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_Hoaglin.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_Hoaglin.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,8 +1,83 @@
 /*! \file demo_Hoaglin.cpp
- \brief Demonstration of Boxplot quartile options.
- \details Includes Quickbook markup.
- Boxplots appear different depending the choice of definition for the quartile.
- \author Paul A Bristow
+ \brief Demonstration of Boxplot quartile options. Boxplots appear different depending the choice of definition for the quartile.
+
+ \details
+ "Some Implementations of the Boxplot"
+ Michael Frigge, David C. Hoaglin and Boris Iglewicz
+ The American Statistician, Vol. 43, No. 1 (Feb., 1989), pp. 50-54
+ discusses the design of the boxplot.
+
+ However the plot of their example data shown below shows the considerable variation in the appearance of the same data,
+ using different definitions of quartiles used in various popular statistics packages.
+
+ One obvious conclusion is that you should not expect boxplots to look the same when using more than one program.
+
+ Boost.Plot provides 5 popular definitions for the quartiles.
+ This should allow the user to produce plots that look similar to boxplots from most statistics plotting program.
+ To confuse matter further, most have their own default definition *and* options to chose other definitions:
+ these options are shown below as type, method, PCTLDEF.
+
+ The interquartile range is calculated using the 1st \& 3rd sample quartiles,
+ but there are various ways to calculate those quartiles, summarised in
+ Rob J. Hyndman and Yanan Fan, 1996, "Sample Quantiles in Statistical Packages",
+ The American Statistician 50(4):361-365, (1996).
+
+ The interquartile range, often called IQR is quartile 3 (p = 3/4) - quartile 1 (1/4).
+ The median is the 2nd quartile (p = 2/4 = 1/2).
+
+ Five of Hyndman and Fan's sample quantile definitions have a particularly simple common form
+ selected according to which definition of m is chosen in function quantiles.
+ This is implemented in function quantiles by parameter `HF_definition`:
+
+ double quantile(vector<double>& data, double p, int HF_definition = 8);
+
+ The default definition is that recommended by Hyndman and Fan, or
+ users can select which definition is used for all boxplots, or individual data series as shown in the example below.
+
+ my_boxplot.quartile_definition(5); // All plots
+
+ my_boxplot.plot.quartile_definition(7); // Just this data series plot.
+
+ Hyndman and Fan definitions 4 to 8 are used by the following packages:
+
+ * #4 SAS (PCTLDEF=1), R (type=4), Maple (method=3)
+ * #5 R (type=5), Maple (method=4), Wolfram Mathematica quartiles.
+ * #6 Minitab, SPSS, BMDP, JMP, SAS (PCTLDEF=4), R(type=6), Maple (method=5).
+ * #7 Excel, S-Plus, R (type=7[default]), Maxima, Maple (method=6).
+ * #8 H&F 8: R (type=8), Maple (method=7[default]).
+
+ Some observations on the various options are:
+
+ * #4 Often a moderate interquartile range.
+
+ * #5 Symmetric linear interpolation: a common choice when the data represent a sample
+ from a continuous distribution and you want an unbiased estimate of the quartiles of that distribution.
+
+ * #6 This "half" sample excludes the sample median (k observations) for odd n (=2*k+1).
+ This will tend to be a better estimate for the population quartiles,
+ but will tend to give quartile estimates that are a bit too far
+ from the center of the whole sample (too wide an interquartile range).
+
+ * #7 Smallest interquartile range, so flags most outliers.
+ For a continuous distribution,
+ this will tend to give too narrow an interquartile range,
+ since there will tend to be a small fraction of the population beyond the extreme
+ sample observations. In particular, for odd n (=2*k+1), Excel calculates the
+ 1st (3rd) quartile as the median of the lower (upper) "half" of the sample
+ including the sample median (k+1 observations).
+
+ * #8 recommended by H&F because it is
+ approximately median-unbaised estimate regardless of distribution
+ and thus suitable for continuous and discrete distributions.
+ which gives quartiles between those reported by Minitab and Excel.
+ This approach is approximately median unbiased for continuous distributions.
+ Slightly higher interquartile range than definition 7.
+
+ The 'fences' beyond which points are regarded as outliers, or extreme outliers,
+ are a multiplying factor, usually called k, and usually 1.5 * interquartile range,
+ and 3 * interquartile range as recommended by Hoaglin et al.
+
+ \author Paul A Bristow
 */
 
 // Copyright Jacob Voytko 2007
@@ -58,7 +133,7 @@
 The default definition is that recommended by Hyndman and Fan, or
 users can select which definition is used for all boxplots, or individual data series as shown in the example below.
 
- my_boxplot.quartile_definition(5); // All plots
+ my_boxplot.quartile_definition(5); // All plots
 
    my_boxplot.plot.quartile_definition(7); // Just this data series plot.
 
@@ -136,22 +211,22 @@
   const boost::array<double, 11> Hoaglin_data = {53., 56., 75., 81., 82., 85., 87., 89., 95., 99., 100.};
   // q1 median q3
 
- vector<double> Hoaglin(Hoaglin_data.begin(), Hoaglin_data.end());
+ vector<double> Hoaglin(Hoaglin_data.begin(), Hoaglin_data.end());
   for (int def = 4; def <= 8; def++)
   { // All the F&Y definitions of quartiles.
     double q1 = quantile(Hoaglin, 0.25, def); // 75
     double q2 = quantile(Hoaglin, 0.5, def); // 85
     double q3 = quantile(Hoaglin, 0.75, def); // 95
- cout << "Hoaglin definition #" << def << ", q1 " << q1
+ cout << "Hoaglin definition #" << def << ", q1 " << q1
       << ", q2 " << q2 << ", q3 " << q3 << ", IQR " << q3 - q1 << endl;
   } // for
 
   // Same data copied for different data series.
- vector<double> Hoaglin4(Hoaglin_data.begin(), Hoaglin_data.end());
- vector<double> Hoaglin5(Hoaglin_data.begin(), Hoaglin_data.end());
- vector<double> Hoaglin6(Hoaglin_data.begin(), Hoaglin_data.end());
- vector<double> Hoaglin7(Hoaglin_data.begin(), Hoaglin_data.end());
- vector<double> Hoaglin8(Hoaglin_data.begin(), Hoaglin_data.end());
+ vector<double> Hoaglin4(Hoaglin_data.begin(), Hoaglin_data.end());
+ vector<double> Hoaglin5(Hoaglin_data.begin(), Hoaglin_data.end());
+ vector<double> Hoaglin6(Hoaglin_data.begin(), Hoaglin_data.end());
+ vector<double> Hoaglin7(Hoaglin_data.begin(), Hoaglin_data.end());
+ vector<double> Hoaglin8(Hoaglin_data.begin(), Hoaglin_data.end());
 
   svg_boxplot H_boxplot;
 
@@ -171,7 +246,7 @@
 
 /*`Add a few setting to the plot including setting quartile definition (though is actually same as the default 8),
 and show that the value is stored.
-*/
+*/
     svg_boxplot& b = H_boxplot.median_values_on(true)
     .outlier_values_on(true)
     .extreme_outlier_values_on(true)

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_boxplot.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_boxplot.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_boxplot.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -3,6 +3,7 @@
     \details Contains Quickbook Markup to be included in documentation.
 
     \author Jacob Voytko and Paul A. Bristow
+ \date 11 Feb 2009
 */
 
 // Copyright Jacob Voytko 2007

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_svg_tspan.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_svg_tspan.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_svg_tspan.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,4 +1,13 @@
-// demo_svg_tspan.cpp
+/*! \file demo_svg_tspan.cpp
+ \brief demonstrate use of SVG tspan command.
+ \details
+ Shows the use of SVG tspan command to control text layout.
+ tspen is needed to continue text
+ changing color, position(next line effect), superscript or subscript.
+ \author Jacob Voytko \& Paul A. Bristow
+
+ \date 2007
+*/
 
 // Copyright Jacob Voytko 2008
 // Copyright Paul A. Bristow 2008
@@ -8,12 +17,9 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// Shows the use of SVG tspan command to control text layout.
-// tspec is needed to continue text
-// changing color, position(next line effect), superscript or subscript.
 
 #ifdef _MSC_VER
-# pragma warning (disable : 4512) // assignment operator could not be generated
+# pragma warning (disable : 4512) // assignment operator could not be generated.
 #endif
 
 #include <boost/svg_plot/svg.hpp>
@@ -28,7 +34,7 @@
 {
     svg doc;
 
- doc.image_size(400, 400);
+ doc.size(400, 400);
 
     text_element& t = doc.text(100, 100, "This ", no_style, center_align, uphill);
     tspan_element ts = t.tspan("text").dx(10).dy(20.).font_size(40).font_family("Arial").font_weight("bold").fill_color(pink);

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/svg_colors.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/svg_colors.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/svg_colors.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -1,24 +1,27 @@
-// svg_colors.cpp
+/*! \file svg_colors.cpp
 
-// Copyright Paul A. 2007
+ \brief Example to display all the SVG 1.1 named colors as rectangles.
+
+ \details
+ Deals with colors that have special names. The reason that the
+ underscore separator convention does not match the normal Boost format
+ is that these names that are specified by the SVG standard.
+ http://www.w3.org/TR/SVG/types.html#ColorKeywords
+
+ \author Paul A. Bristow
+ \date 2007
+*/
+
+// Copyright Paul A. Bristow 2007
 // Use, modification and distribution are subject to 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)
 
-
-// Example to display all the SVG 1.1 named colors as rectangles.
 // Need completion to all colors, not just one!
 
-// -----------------------------------------------------------------
-// Deals with colors that have special names. The reason that the
-// underscore separator convention does not match the normal Boost format
-// is that these names that are specified by the SVG standard.
-// http://www.w3.org/TR/SVG/types.html#ColorKeywords
-// -----------------------------------------------------------------
-enum svg_color_constant
-#include svg.hpp;
-using svg::rect;
+#include <boost/svg_plot/svg.hpp>
+// using boost::svg::rect;
 
 #include <boost/svg_plot/svg_1d_plot.hpp>
 using namespace boost::svg;
@@ -26,16 +29,15 @@
 int main()
 {
   svg& rect(double x1, double y1, double width, double height);
- svg my_doc;
+ svg my_image;
+ my_image.x_size(100);
+ my_image.y_size(200);
+
+ my_image.g().style().stroke_color(red);
+ my_image.rect(20, 20, 0, 0);
+
+ my_image.write("./svg_colors.svg");
+ return 0;
+} // int main()
 
- my_doc.background_border_color(black)
- .legend_on(true)
- .title("SVG standard colors")
- .x_range(0, 1);
-
- my_doc.rect(20, 20, 0, 0);
-
- my_doc.write("./1d_simple.svg");
- return 0;
-}
 

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_color_consistency.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_color_consistency.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_color_consistency.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -130,11 +130,11 @@
         BOOST_CHECK_EQUAL(my_plot.image_x_size(), 500U);
         BOOST_CHECK_EQUAL(my_plot.image_y_size(), 200U);
 
- my_plot.image_size(200U, 100U);
+ my_plot.size(200U, 100U);
         BOOST_CHECK_EQUAL(my_plot.image_x_size(), 200U);
- my_plot.image_size(500U, 100U); // update x
+ my_plot.size(500U, 100U); // update x
         BOOST_CHECK_EQUAL(my_plot.image_x_size(), 500U); // & check
- my_plot.image_size(500U, 300U); // update y
+ my_plot.size(500U, 300U); // update y
         BOOST_CHECK_EQUAL(my_plot.image_y_size(), 300U); // & check
 
  // // cout << my_plot.image_x_size() << endl; // 500

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_tests.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_tests.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_tests.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -141,11 +141,11 @@
         BOOST_CHECK_EQUAL(my_plot.image_x_size(), 500U);
         BOOST_CHECK_EQUAL(my_plot.image_y_size(), 200U);
 
- my_plot.image_size(200U, 100U);
+ my_plot.size(200U, 100U);
         BOOST_CHECK_EQUAL(my_plot.image_x_size(), 200U);
- my_plot.image_size(500U, 100U); // update x
+ my_plot.size(500U, 100U); // update x
         BOOST_CHECK_EQUAL(my_plot.image_x_size(), 500U); // & check
- my_plot.image_size(500U, 300U); // update y
+ my_plot.size(500U, 300U); // update y
         BOOST_CHECK_EQUAL(my_plot.image_y_size(), 300U); // & check
 
   // cout << my_plot.image_x_size() << endl; // 500

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/test/test_svg.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/test/test_svg.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/test/test_svg.cpp 2009-02-12 13:40:10 EST (Thu, 12 Feb 2009)
@@ -233,11 +233,11 @@
   BOOST_CHECK_EQUAL(my_svg.x_size(), 400U);
   BOOST_CHECK_EQUAL(my_svg.y_size(), 400U);
 
- my_svg.image_size(200U, 100U);
+ my_svg.size(200U, 100U);
   BOOST_CHECK_EQUAL(my_svg.x_size(), 200U);
- my_svg.image_size(500U, 100U); // update x
+ my_svg.size(500U, 100U); // update x
   BOOST_CHECK_EQUAL(my_svg.x_size(), 500U); // & check
- my_svg.image_size(500U, 300U); // update y
+ my_svg.size(500U, 300U); // update y
   BOOST_CHECK_EQUAL(my_svg.y_size(), 300U); // & check
   BOOST_CHECK_EQUAL(my_svg.x_size(), 500U);
 


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