Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51207 - in sandbox/SOC/2007/visualization: boost/svg_plot boost/svg_plot/detail libs/svg_plot/example libs/svg_plot/test
From: pbristow_at_[hidden]
Date: 2009-02-11 15:07:59


Author: pbristow
Date: 2009-02-11 15:07:56 EST (Wed, 11 Feb 2009)
New Revision: 51207
URL: http://svn.boost.org/trac/boost/changeset/51207

Log:
More Doxygenation. Boxplot not quite finished yet.
Text files modified:
   sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp | 305 ++++++------
   sandbox/SOC/2007/visualization/boost/svg_plot/detail/svg_tag.hpp | 8
   sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp | 4
   sandbox/SOC/2007/visualization/boost/svg_plot/show_2d_settings.hpp | 4
   sandbox/SOC/2007/visualization/boost/svg_plot/svg.hpp | 28
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp | 22
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp | 885 ++++++++++++++++++++-------------------
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_boxplot.hpp | 521 ++++++++++++-----------
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp | 32
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp | 12
   sandbox/SOC/2007/visualization/libs/svg_plot/example/auto_boxplot.cpp | 16
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_plot.cpp | 50 +-
   sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_simple.cpp | 4
   sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_color_consistency.cpp | 6
   sandbox/SOC/2007/visualization/libs/svg_plot/test/1d_tests.cpp | 10
   15 files changed, 975 insertions(+), 932 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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -1,11 +1,9 @@
-/*!
+ /*!
   \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.
-
- \author Jacob Voytko and Paul A. Bristow
+ \date 11 Feb 2009
+ \author Jacob Voytko and Paul A. Bristow
 */
 
 // Copyright Jacob Voytko 2007
@@ -47,7 +45,7 @@
 
     static const double sin45 = 0.707; //!< Use to calculate 'length' if axis value labels are sloping.
 
- // x_axis_position_ and y_axis_position_ use x_axis_intersect & y_axis_intersect.
+ // x_axis_position_ and y_axis_position_ use x_axis_intersect & y_axis_intersect
     enum x_axis_intersect
     { //! \enum x_axis_intersect If and how the X axes intersects Y axis.
       bottom = -1, //!< X-axis free below bottom of end of Y-axis (case of all Y definitely < 0).
@@ -63,7 +61,7 @@
      };
 
     enum legend_places
- { //! \enum legend_places Placing of legend box, if requested by legend_on == true.
+ { //! \enum legend_places Placing of legend box, if requested by legend_on == true.
       nowhere = 0, //!< Placing of legend box not requested or not calculated yet.
       inside = -1, //!< Default place for inside is top left of plot window, (exact location controlled by legend_top_left()).
       outside_left = 1, //!< Outside on the left of the graph.
@@ -542,14 +540,12 @@
         // --------------------------------------------------------------------
 
         void draw_title()
- { /*! \verbatim
- Draw title (for the whole plot).
+ { /*! Draw title (for the whole plot).
             Update title_info_ with position.
             Assumes align = center_align.
             and center_align will ensure that will center correctly
- even if original string is made much longer because it contains Unicode like &#x3A9;
+ (even if original string is made much longer because it contains Unicode)
             because the render engine does the centering.
- \endverbatim
           */
           derived().title_info_.x(derived().image.x_size() / 2.); // Center of image.
           double y;
@@ -1122,9 +1118,9 @@
           } // 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 *pair* of data point's values as a string.
+ { //! Write the \b pair of data point's values as a string.
 
- std::string label_xv = sv(vx, x_sty); //! Also trip unnecessary e, + and leading exponent zeros, if required.
+ 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;
             std::string label_yu;
@@ -1467,8 +1463,8 @@
           int x_ticks_on_window_or_axis();
           Derived& x_label_units_on(bool cmd);
           bool x_label_units_on();
- Derived& x_major_value_labels_side(int cmd);
- int x_major_value_labels_side();
+ Derived& x_major_labels_side(int cmd);
+ int x_major_labels_side();
           Derived& x_major_label_rotation(rotate_style rot);
           rotate_style x_major_label_rotation();
           Derived& title_on(bool cmd);
@@ -1664,7 +1660,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::image_x_size()
- { //! Get SVG image X-axis size (SVG units, default pixels).
+ { //! \return SVG image X-axis size (SVG units, default pixels).
             return derived().image.x_size();
           }
 
@@ -1677,7 +1673,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::image_y_size()
- { //! Get SVG image Y-axis size (SVG units, default pixels).
+ { //! \return SVG image Y-axis size (SVG units, default pixels).
             return derived().image.y_size();
           }
 
@@ -1690,7 +1686,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::background_color()
- { //! Get plot background color.
+ { //! \return plot background color.
             return derived().image.g(PLOT_BACKGROUND).style().fill_color();
           }
 
@@ -1706,18 +1702,17 @@
           { //! Set plot background border color.
             derived().image.g(PLOT_BACKGROUND).style().stroke_color(col);
             /*!
- /code
- // background_border_color example:
- svg_2d_plot my_plot(my_data, "My Data").background_border_color(red).background_color(azure);
- /endcode
+ \code
+// background_border_color example:
+svg_2d_plot my_plot(my_data, "My Data").background_border_color(red).background_color(azure);
+ \endcode
             */
-
             return derived();
           }
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::background_border_color()
- { //! Get plot background border color.
+ { //! \return plot background border color.
             return derived().image.g(PLOT_BACKGROUND).style().stroke_color();
           }
 
@@ -1730,32 +1725,32 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::background_border_width()
- { //! Get plot background border width.
+ { //! \return plot background border width.
             return derived().image.g(PLOT_BACKGROUND).style().stroke_width();
           }
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::description(const std::string d)
- { //! Writes description to the document (for header as \verbatim <desc> My Data <\desc> \endverbatim).
+ { //! Writes description to the document for header as \verbatim <desc> My Data <\desc> \endverbatim
             derived().image.description(d);
             return derived();
           }
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::description()
- { //! Get description of the document (for header as \verbatim <desc> ... <\desc> \endverbatim).
+ { //! \return description of the document for header as \verbatim <desc> ... <\desc> \endverbatim
             return derived().image.description();
           }
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::document_title(const std::string d)
- { //! Write document title to the SVG document (for header as \verbatim <title> My Title <\title> \endverbatim).
+ { //! Write document title to the SVG document for header as \verbatim <title> My Title <\title> \endverbatim
             derived().image.document_title(d);
             return derived();
           }
           template <class Derived>
           std::string axis_plot_frame<Derived>::document_title()
- { //! Get document title to the document (for header as \verbatim <title> My Title <\title> \endverbatim).
+ { //! \return document title to the document for header as \verbatim <title> My Title <\title> \endverbatim
             return derived().image.document_title();
           }
 
@@ -1770,7 +1765,7 @@
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::copyright_holder()
- { //! Get copyright_holder.
+ { //! \return copyright_holder.
             return derived().image.copyright_holder();
           }
 
@@ -1784,7 +1779,7 @@
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::copyright_date()
- { //! Get copyright_date.
+ { //! \return copyright_date.
             return derived().image.copyright_date();
           }
 
@@ -1818,7 +1813,7 @@
           }
           template <class Derived>
           bool axis_plot_frame<Derived>::boost_license_on()
- { //! Get if the Boost license conditions should be included in the SVG document.
+ { //! \return if the Boost license conditions should be included in the SVG document.
             //! To set see axis_plot_frame::boost_license_on(bool).
             return derived().image.boost_license_one();
           }
@@ -1832,25 +1827,25 @@
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::license_reproduction()
- { //! Get reproduction license conditions, usually "permits", "requires", or "prohibits".
+ { //! \return reproduction license conditions, usually "permits", "requires", or "prohibits".
             return derived().image.reproduction();
           }
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::license_distribution()
- { //! Get distribution license conditions, usually "permits", "requires", or "prohibits".
+ { //! \return distribution license conditions, usually "permits", "requires", or "prohibits".
             return derived().image.distribution();
           }
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::license_attribution()
- { //! Get attribution license conditions, usually "permits", "requires", or "prohibits".
+ { //! \return attribution license conditions, usually "permits", "requires", or "prohibits".
             return derived().image.attribution();
           }
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::license_commercialuse()
- { //! Get commercial use license conditions, usually "permits", "requires", or "prohibits".
+ { //! \return commercial use license conditions, usually "permits", "requires", or "prohibits".
             return derived().image.commercialuse();
           }
 
@@ -1869,7 +1864,7 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::coord_precision()
- { //! Get precision of SVG coordinates in decimal digits.
+ { //! \return precision of SVG coordinates in decimal digits.
             return derived().image.coord_precision();
           }
 
@@ -1888,7 +1883,7 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::x_value_precision()
- { //! Get precision of X tick label values in decimal digits
+ { //! \return precision of X tick label values in decimal digits
             return derived().x_ticks_.value_precision_;
           }
 
@@ -1905,7 +1900,7 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::x_value_ioflags()
- { //! Get stream ioflags for control of format of X value labels.
+ { //! \return stream ioflags for control of format of X value labels.
             return derived().x_ticks_.value_ioflags_;
           }
 
@@ -1919,7 +1914,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::y_labels_strip_e0s()
- { //! Get if to strip redundant zeros, signs and exponents, for example, reducing "1.2e+000" to "1.2"
+ { //! \return if to strip redundant zeros, signs and exponents, for example, reducing "1.2e+000" to "1.2"
             return derived().x_ticks_.strip_e0s_;
           }
 
@@ -1927,11 +1922,9 @@
           Derived& axis_plot_frame<Derived>::title(const std::string title)
           { //! Set a title for plot.
             /*! \details
- \verbatim
               The string may include Unicode for greek letter and symbols.
- For example: my_plot.title("Plot of &#x3A9; function");
- includes a greek omega.
- \endverbatim
+ For example a title that includes a greek omega:
+ \verbatim my_plot.title("Plot of &#x3A9; function");\endverbatim
             */
             // Plot title. TODO
             // new text parent code pushback
@@ -1946,7 +1939,7 @@
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::title()
- { //! Get a title for plot, whose string may include Unicode for greek letter and symbols.
+ { //! \return a title for plot, whose string may include Unicode for greek letter and symbols.
             return derived().title_info_.text();
           }
 
@@ -1959,7 +1952,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::title_font_size()
- { //! Get the font size for the title (svg units, default pixels).
+ { //! \return the font size for the title (svg units, default pixels).
             return derived().title_info_.style().font_size();
           }
 
@@ -1972,7 +1965,7 @@
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::title_font_family()
- { //! Get the font family for the title
+ { //! \return the font family for the title
             return derived().title_info_.style().font_family();
           }
 
@@ -1985,7 +1978,7 @@
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::title_font_style()
- { //! Get the font style for the title (default normal).
+ { //! \return the font style for the title (default normal).
             return derived().title_info_.style().font_style();
           }
 
@@ -1998,7 +1991,7 @@
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::title_font_weight()
- {//! Get the font weight for the title.
+ {//! \return the font weight for the title.
             return derived().title_info_.style().font_weight();
           }
 
@@ -2011,7 +2004,7 @@
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::title_font_stretch()
- { //! Get the font stretch for the title.
+ { //! \return the font stretch for the title.
             return derived().title_info_.style().font_stretch();
           }
 
@@ -2024,7 +2017,7 @@
 
            template <class Derived>
          const std::string& axis_plot_frame<Derived>::title_font_decoration()
- { //! Get the font decoration for the title (default normal, or underline, overline or strike-thru).
+ { //! \return the font decoration for the title (default normal, or underline, overline or strike-thru).
             return derived().title_info_.style().font_decoration();
           }
 
@@ -2037,7 +2030,7 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::title_font_rotation()
- { //! Get the rotation for the title font (degrees).
+ { //! \return the rotation for the title font (degrees).
             return derived().title_info_.rotation();
           }
 
@@ -2050,7 +2043,7 @@
 
           template <class Derived>
           align_style axis_plot_frame<Derived>::title_font_alignment()
- { //! Get the alignment for the title.
+ { //! \return the alignment for the title.
             return derived().title_info_.alignment();
           }
 
@@ -2065,7 +2058,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::legend_width()
- { //! Get the width for the legend.
+ { //! \return the width for the legend.
             return derived().legend_width_;
           }
 
@@ -2078,7 +2071,7 @@
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::legend_title()
- { //! Get the title for the legend.
+ { //! \return the title for the legend.
             return derived().legend_header_.text();
           }
 
@@ -2091,7 +2084,7 @@
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::legend_font_weight()
- { //! Get the font weight for the legend title.
+ { //! \return the font weight for the legend title.
             return derived().legend_header_.style().font_weight();
           }
 
@@ -2104,7 +2097,7 @@
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::legend_font_family()
- { //! Get the font family for the legend title.
+ { //! \return the font family for the legend title.
             return derived().legend_header_.style().font_family();
           }
 
@@ -2117,7 +2110,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::legend_title_font_size()
- { //! Get the font size for the legend title (svg units, default pixels).
+ { //! \return the font size for the legend title (svg units, default pixels).
             return derived().legend_header_.style().font_size();
           }
 
@@ -2137,7 +2130,7 @@
 
           template <class Derived>
           const std::pair<double, double> axis_plot_frame<Derived>::legend_top_left()
- { //! Get svg coordinate (default pixels) of top left of legend box.
+ { //! \return svg coordinate (default pixels) of top left of legend box.
             std::pair<double, double> r;
             r.first = derived().legend_left_;
             r.second = derived().legend_top_;
@@ -2146,7 +2139,7 @@
 
           template <class Derived>
           const std::pair<double, double> axis_plot_frame<Derived>::legend_bottom_right()
- { //! Get svg coordinate (default pixels) of Bottom right of legend box.
+ { //! \return svg coordinate (default pixels) of Bottom right of legend box.
             std::pair<double, double> r;
             r.first = derived().legend_right_;
             r.second = derived().legend_bottom_;
@@ -2164,7 +2157,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::legend_lines()
- {//! Get true if legend should include samples of the lines joining data points.
+ {//! \return true if legend should include samples of the lines joining data points.
             return derived().legend_lines_;
           }
 
@@ -2177,7 +2170,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::legend_on()
- { //! Get true if a legend is wanted.
+ { //! \return true if a legend is wanted.
             return derived().legend_on_;
           }
 
@@ -2190,13 +2183,13 @@
 
           template <class Derived>
           legend_places axis_plot_frame<Derived>::legend_place()
- { //! Get the position of the legend, \see boost::svg::legend_places
+ { //! \return the position of the legend, \see boost::svg::legend_places
             return derived().legend_place_;
           }
 
           template <class Derived>
           bool axis_plot_frame<Derived>::legend_outside()
- { //! Get if the legend should be outside the plot area.
+ { //! \return if the legend should be outside the plot area.
             return derived().outside_legend_on_;
           }
 
@@ -2209,7 +2202,7 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::legend_header_font_size()
- { //! Get legend header font size (svg units, default pixels).
+ { //! \return legend header font size (svg units, default pixels).
             return derived().legend_header_.style().font_size();
           }
 
@@ -2229,7 +2222,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::plot_window_on()
- {//! Get true if a plot window is wanted (or false if the whole image is to be used).
+ {//! \return true if a plot window is wanted (or false if the whole image is to be used).
             return derived().plot_window_on_;
           }
 
@@ -2243,13 +2236,13 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::plot_border_color()
- { //! Get the color for the plot window background.
+ { //! \return the color for the plot window background.
             return derived().image.g(detail::PLOT_WINDOW_BACKGROUND).style().stroke_color();
           }
 
           template <class Derived>
           double axis_plot_frame<Derived>::plot_border_width()
- { //! Get the width for the plot window border (svg units, default pixels).
+ { //! \return the width for the plot window border (svg units, default pixels).
             return derived().image.g(detail::PLOT_WINDOW_BACKGROUND).style().stroke_width();
           }
 
@@ -2271,7 +2264,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::image_border_margin()
- { //! Get the margin around the plot window border (svg units, default pixels).
+ { //! \return the margin around the plot window border (svg units, default pixels).
             return derived().image_border_.margin_;
           }
 
@@ -2284,7 +2277,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::image_border_width()
- { //! Get the svg image border width (svg units, default pixels).
+ { //! \return the svg image border width (svg units, default pixels).
             return derived().image_border_.width_;
           }
 
@@ -2323,34 +2316,34 @@
             return derived();
           }
 
- //! Get the minimum and maximum (cartesian data units) for the plot window axes.
+ // Get the minimum and maximum (cartesian data units) for the plot window axes.
 
           template <class Derived>
           double axis_plot_frame<Derived>::plot_window_x_left()
- { //! Get the left of the plot window.
+ { //! \return left of the plot window.
             return derived().plot_left_;
           }
           template <class Derived>
           double axis_plot_frame<Derived>::plot_window_x_right()
- { //! Get the right of the plot window.
+ { //! \return right of the plot window.
             return derived().plot_right_;
           }
 
           template <class Derived>
           double axis_plot_frame<Derived>::plot_window_y_top()
- { //! Get the top of the plot window.
+ { //! \return top of the plot window.
             return derived().plot_top_;
           }
 
           template <class Derived>
           double axis_plot_frame<Derived>::plot_window_y_bottom()
- { //! Get the top of the plot window.
+ { //! \return top of the plot window.
             return derived().plot_bottom_;
           }
 
           template <class Derived>
           std::pair<double, double> axis_plot_frame<Derived>::plot_window_x()
- { //! Get both the left and right (X axis) of the plot window.
+ { //! \return both the left and right (X axis) of the plot window.
             std::pair<double, double> r;
             r.first = derived().plot_left_;
             r.second = derived().plot_right_;
@@ -2359,7 +2352,7 @@
 
           template <class Derived>
           std::pair<double, double> axis_plot_frame<Derived>::plot_window_y()
- { //! Get both the top and bottom (Y axis) of the plot window.
+ { //! \return both the top and bottom (Y axis) of the plot window.
             std::pair<double, double> r;
             r.first = derived().plot_top_;
             r.second = derived().plot_bottom_;
@@ -2368,13 +2361,13 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_minor_interval()
- { //! Get the interval between X minor ticks.
+ { //! \return interval between X minor ticks.
             return derived().x_ticks_.minor_interval_; // interval
           }
 
           template <class Derived>
           double axis_plot_frame<Derived>::y_minor_interval()
- { //! Get the interval between Y minor ticks.
+ { //! \return interval between Y minor ticks.
             return derived().y_ticks_.minor_interval_; // interval
           }
 
@@ -2387,7 +2380,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::x_ticks_up_on()
- { //! Get true if X major ticks should mark upwards.
+ { //! \return true if X major ticks should mark upwards.
             return derived().x_ticks_.up_ticks_on_;
           }
 
@@ -2400,7 +2393,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::x_ticks_down_on()
- { //! Get true if X major ticks should mark downwards.
+ { //! \return true if X major ticks should mark downwards.
             return derived().x_ticks_.down_ticks_on_;
           }
           // Only need y_ticks_left_on & y_ticks_right_on in 2D, so not defined here.
@@ -2417,7 +2410,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::x_label_on()
- { //! Get true if want to show X-axis label text.
+ { //! \return true if want to show X-axis label text.
             return derived().x_axis_.label_on_;
           }
 
@@ -2430,7 +2423,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::x_label_font_size()
- { //! Get X axis label font size (svg units, default pixels).
+ { //! \return X axis label font size (svg units, default pixels).
             return derived().x_label_info_.style().font_size();
           }
 
@@ -2443,7 +2436,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::x_value_font_size()
- { //! Get X tick value label font size (svg units, default pixels).
+ { //! \return X tick value label font size (svg units, default pixels).
             return derived().x_value_value.style().font_size();
           }
 
@@ -2456,7 +2449,7 @@
 
           template <class Derived>
           const std::string& axis_plot_frame<Derived>::x_label_font_family()
- { //! Get X tick value label font family.
+ { //! \return X tick value label font family.
             return derived().x_label_info_.style().font_family();
           }
 
@@ -2471,7 +2464,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_axis_label_color()
- { //! Get X axis label color.
+ { //! \return X axis label color.
             // But only return the stroke color.
             return derived().image.g(detail::PLOT_X_LABEL).style().stroke_color();
           }
@@ -2487,22 +2480,26 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_axis_value_color()
- { //! Get X axis tick value label color.
+ { //! \return X axis tick value label color.
             // But only return the stroke color.
             return derived().image.g(detail::PLOT_VALUE_LABELS).style().stroke_color();
           }
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::x_ticks_on_window_or_axis(int cmd)
- { // External style, top = +1, bottom = -1 (default).
+ { /*! Set X ticks on window or axis
+ \arg cmd -1 bottom of plot window,
+ \arg cmd 0 on X axis.
+ \arg cmd +1 top of plot window.
+ */
             derived().x_ticks_.ticks_on_window_or_axis_ = cmd;
             return derived();
           }
 
           template <class Derived>
           int axis_plot_frame<Derived>::x_ticks_on_window_or_axis()
- { //! Get true if X axis ticks wanted on the window (rather than on axis).
- // External style = true.
+ { //! \return true if X axis ticks wanted on the window (rather than on axis).\n
+ //! -1 bottom of plot window, 0 on X axis, +1 top of plot window.
             return derived().x_ticks_.ticks_on_window_or_axis_;
           }
 
@@ -2520,18 +2517,18 @@
           }
 
           template <class Derived>
- Derived& axis_plot_frame<Derived>::x_major_value_labels_side(int place)
+ Derived& axis_plot_frame<Derived>::x_major_labels_side(int place)
           { /*! Position of labels for major ticks on horizontal X axis line.
                \arg \c place > 0 labels to left of Y axis line (default),
                \arg \c place = 0 (false) no major tick labels on Y axis.
                \arg \c place > 0 labels to right of Y axis line.
             */
             derived().x_ticks_.major_value_labels_side_ = place;
- return derived(); // \return reference to svg_2d_plot to make chainable.
+ return derived(); //! \return reference to svg_2d_plot to make chainable.
           }
 
           template <class Derived>
- int axis_plot_frame<Derived>::x_major_value_labels_side()
+ int axis_plot_frame<Derived>::x_major_labels_side()
           { //! \return the side for X ticks major value labels.
             return derived().x_ticks_.major_value_labels_side_;
           }
@@ -2594,7 +2591,7 @@
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::axes_on(bool is)
- { //! If set true, draw *both* x and y axes (note plural axes).
+ { //! If set true, draw \b both x and y axes (note plural axes).
             derived().x_axis_.axis_line_on_ = is;
             derived().y_axis_.axis_line_on_ = is; // No meaning for 1D, but set anyway?
             return derived();
@@ -2602,7 +2599,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::axes_on()
- { //! \return true if *both* x and y axis on.
+ { //! \return true if \b both x and y axis on.
             return derived().x_axis_.axis_line_on_ && derived().y_axis_.axis_line_on_;
           }
 
@@ -2666,7 +2663,7 @@
           //}
 
          //Derived& legend_font_width(double width)
- //{ // Get the width of the font for the title of the plot.
+ //{ //! \return the width of the font for the title of the plot.
             // width of text is effectively the boldness.
           // derived().image.g(PLOT_LEGEND_TEXT).style().stroke_width(width);
           // return derived();
@@ -2678,7 +2675,7 @@
           // return derived().image.g(PLOT_LEGEND_TEXT).style().stroke_width();
           //}
           //double legend_font_width()
- //{ // Get the width of the font for the title of the legend.
+ //{ //! \return the width of the font for the title of the legend.
           // return derived().image.g(PLOT_TITLE).style().stroke_width();
           //}
 
@@ -2692,7 +2689,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::legend_color()
- { //! Get the color of the title of the legend.
+ { //! \return the color of the title of the legend.
             // Function legend_color sets only stroke, assuming that 'filled' text is not being used.
             // (It produces much lower quality fonts on some browsers).
             return derived().image.g(PLOT_LEGEND_TEXT).style().fill_color();
@@ -2709,7 +2706,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::legend_background_color()
- { //! Get the background fill color of the legend box.
+ { //! \return the background fill color of the legend box.
             return derived().image.g(PLOT_LEGEND_BACKGROUND).style().fill_color();
           }
 
@@ -2729,7 +2726,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::legend_border_color()
- { //! Get the border stroke color of the legend box.
+ { //! \return the border stroke color of the legend box.
             return derived().legend_box_.stroke();
             // return derived().image.g(PLOT_LEGEND_BACKGROUND).style().stroke_color();
           }
@@ -2743,13 +2740,13 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::plot_background_color()
- { //! Get the fill color of the plot window background.
+ { //! \return the fill color of the plot window background.
             return derived().image.g(PLOT_WINDOW_BACKGROUND).style().fill_color();
           }
 
           template <class Derived>
           const std::string axis_plot_frame<Derived>::x_axis_position()
- { //! Get the position (or intersection with Y-axis) of the X-axis.
+ { //! \return the position (or intersection with Y-axis) of the X-axis.
             switch(derived().x_axis_position_)
             {
             case top:
@@ -2773,7 +2770,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_axis_color()
- { //! Get the color of the X-axis line.
+ { //! \return the color of the X-axis line.
             return derived().image.g(PLOT_X_AXIS).style().stroke_color();
           }
 
@@ -2786,7 +2783,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::y_axis_color()
- { //! Get the color of the Y-axis line.
+ { //! \return the color of the Y-axis line.
             return derived().image.g(PLOT_Y_AXIS).style().stroke_color();
           }
 
@@ -2801,7 +2798,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_label_color()
- { //! Get the color of X-axis label (including any units).
+ { //! \return the color of X-axis label (including any units).
             return derived().image.g(PLOT_X_LABEL).style().fill_color();
           }
 
@@ -2816,7 +2813,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_label_width()
- { //! Get the width (boldness) of X-axis label (including any units).
+ { //! \return the width (boldness) of X-axis label (including any units).
             return derived().image.g(PLOT_X_LABEL).style().stroke_width();
           }
 
@@ -2830,7 +2827,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::y_label_color()
- { //! Get the color of Y-axis label (including any units).
+ { //! \return the color of Y-axis label (including any units).
             return derived().image.g(PLOT_Y_LABEL).style().fill_color();
           }
 
@@ -2843,7 +2840,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_major_tick_color()
- { //! Get the color of X-axis major ticks.
+ { //! \return the color of X-axis major ticks.
             return derived().image.g(PLOT_X_MAJOR_TICKS).style().stroke_color();
           }
 
@@ -2856,7 +2853,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_minor_tick_color()
- { //! Get the color of X-axis minor ticks.
+ { //! \return the color of X-axis minor ticks.
             return derived().image.g(PLOT_X_MINOR_TICKS).style().stroke_color();
           }
 
@@ -2869,7 +2866,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_major_grid_color()
- { //! Get the color of X-axis major grid lines.
+ { //! \return the color of X-axis major grid lines.
             return derived().image.g(PLOT_X_MAJOR_GRID).style().stroke_color();
           }
 
@@ -2882,7 +2879,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_major_grid_width()
- { //! Get the color of X-axis major grid lines.
+ { //! \return the color of X-axis major grid lines.
             return derived().image.g(PLOT_X_MAJOR_GRID).style().stroke_width();
           }
 
@@ -2895,7 +2892,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_minor_grid_color()
- { //! Get the color of X-axis minor grid lines.
+ { //! \return the color of X-axis minor grid lines.
             return derived().image.g(PLOT_X_MINOR_GRID).style().stroke_color();
           }
 
@@ -2908,7 +2905,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_minor_grid_width()
- { //! Get the width of X-axis minor grid lines.
+ { //! \return the width of X-axis minor grid lines.
             return derived().image.g(PLOT_X_MINOR_GRID).style().stroke_width();
           }
 
@@ -2921,7 +2918,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_axis_width()
- { //! Get the width of X-axis lines.
+ { //! \return the width of X-axis lines.
             return derived().image.g(PLOT_X_AXIS).style().stroke_width();
           }
 
@@ -2934,11 +2931,10 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::data_lines_width()
- { //! Get the width of lines joining data points.
+ { //! \return the width of lines joining data points.
             return derived().image.g(PLOT_DATA_LINES).style().stroke_width();
           }
 
-
           template <class Derived>
           Derived& axis_plot_frame<Derived>::x_label(const std::string& str)
           { //! Set the text to label the X-axis (and set x_label_on(true)).
@@ -2950,7 +2946,7 @@
 
           template <class Derived>
           std::string axis_plot_frame<Derived>::x_label()
- { //! Get the text to label the X-axis.
+ { //! \return the text to label the X-axis.
             return derived().x_label_info_.text();
           }
 
@@ -2964,7 +2960,7 @@
 
           template <class Derived>
           std::string axis_plot_frame<Derived>::x_label_units()
- { //! Get the text to add units to the X-axis label.
+ { //! \return the text to add units to the X-axis label.
             //! The label will only be shown if x_label_on() == true.
             return derived().x_units_info_.text();
           }
@@ -2980,7 +2976,7 @@
 
           template <class Derived>
           std::string axis_plot_frame<Derived>::y_label()
- { //! Get the text for the Y-axis label.
+ { //! \return the text for the Y-axis label.
             //! The label will only be shown if y_label_on() == true.
             return derived().y_label_info_.text();
           }
@@ -2995,7 +2991,7 @@
 
           template <class Derived>
           std::string axis_plot_frame<Derived>::y_label_units()
- { //! Get the text to add units to the X-axis label.
+ { //! \return the text to add units to the X-axis label.
             return derived().y_units_info_.text();
           }
 
@@ -3021,7 +3017,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::x_values_font_size()
- { //! Get font size of data point X values near data points markers.
+ { //! \return font size of data point X values near data points markers.
             return derived().x_values_style_.values_text_style_.font_size();
           }
 
@@ -3047,7 +3043,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_major_interval()
- { //! Get the interval between X-axis major ticks.
+ { //! \return the interval between X-axis major ticks.
             return derived().x_ticks_.major_interval_;
           }
 
@@ -3064,7 +3060,7 @@
 
           template <class Derived>
           svg_color axis_plot_frame<Derived>::x_values_color()
- { //! Get the color of data point X values near data points markers.
+ { //! \return the color of data point X values near data points markers.
             // Function could get either fill and stroke,
             // return derived().image.g(PLOT_X_POINT_VALUES).style().stroke_color();
             return derived().image.g(PLOT_X_POINT_VALUES).style().fill_color();
@@ -3072,7 +3068,7 @@
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::x_values_rotation(rotate_style rotate)
- { //! Get the rotation (rotate_style) of data point X values near data points markers.
+ { //! \return the rotation (rotate_style) of data point X values near data points markers.
             //! (Degrees: 0 to 360 in 45 steps).
             derived().x_values_style_.value_label_rotation_ = rotate;
             return derived();
@@ -3080,7 +3076,7 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::x_values_rotation()
- { //! Get the rotation of data point X values near data points markers.
+ { //! \return the rotation of data point X values near data points markers.
             return derived().x_values_style_.value_label_rotation_;
           }
 
@@ -3093,7 +3089,7 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::x_values_precision()
- { //! Get iostream decimal digits precision of data point X values near data points markers.
+ { //! \return iostream decimal digits precision of data point X values near data points markers.
             return derived().x_values_style_.value_precision_;
           }
 
@@ -3107,7 +3103,7 @@
 
           template <class Derived>
           std::ios_base::fmtflags axis_plot_frame<Derived>::x_values_ioflags()
- { //! Get iostream format flags of data point X values near data points markers.
+ { //! \return iostream format flags of data point X values near data points markers.
             //! Might be used to set hexadecimal, fixed and scientific, (std::ios::scientific).
             return derived().x_values_style_.value_ioflags_;
           }
@@ -3122,7 +3118,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::x_plusminus_on()
- { //! Get if to append uncertainty estimate to data point X values near data points markers.
+ { //! \return if to append uncertainty estimate to data point X values near data points markers.
             //! (May not be implemented yet).
             return derived().x_values_style_.plusminus_on_;
           }
@@ -3137,7 +3133,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::x_df_on()
- { //! Get if to append a degrees of freedom estimate to data point X values near data points markers.
+ { //! \return if to append a degrees of freedom estimate to data point X values near data points markers.
             //! (May not be implemented yet).
             return derived().x_values_style_.df_on_;
           }
@@ -3151,7 +3147,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_major_tick_length()
- {//! Get length of X major ticks.
+ {//! \return length of X major ticks.
             return derived().x_ticks_.major_tick_length_;
           }
 
@@ -3165,7 +3161,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_major_tick_width()
- {//! Get wqidth of X major ticks.
+ {//! \return width of X major ticks.
             return derived().image.g(PLOT_X_MAJOR_TICKS).style().stroke_width();
           }
 
@@ -3178,7 +3174,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_minor_tick_length()
- { //! Get length of X minor ticks.
+ { //! \return length of X minor ticks.
             return derived().x_ticks_.minor_tick_length_;
           }
 
@@ -3192,7 +3188,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_minor_tick_width()
- { //! Get width of X minor ticks.
+ { //! \return width of X minor ticks.
             // return derived().x_minor_tick_width_; // should be the same but store in stroke_width is definitive.
             return derived().image.g(PLOT_X_MINOR_TICKS).style().stroke_width();
           }
@@ -3205,7 +3201,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_major_tick()
- { // Get interval (Cartesian units) between major ticks.
+ { //! \return interval (Cartesian units) between major ticks.
             return derived().x_ticks_.major_interval_;
           }
 
@@ -3226,7 +3222,7 @@
 
           template <class Derived>
           unsigned int axis_plot_frame<Derived>::x_num_minor_ticks()
- { //! Get number of X-axis minor ticks between major ticks.
+ { //! \return number of X-axis minor ticks between major ticks.
             //! Note: NOT float or double!
             return derived().x_ticks_.num_minor_ticks_;
           }
@@ -3266,7 +3262,7 @@
 
           template <class Derived>
           std::pair<double, double> axis_plot_frame<Derived>::x_range()
- { //! Get the range of values on the X-axis.
+ { //! \return the range of values on the X-axis.
             //! (Need to use boost::svg::detail::operator<< to display this).
             std::pair<double, double> r;
             r.first = derived().x_axis_.min_;
@@ -3284,7 +3280,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_min()
- { //! Get the minimum value on the X-axis.
+ { //! \return the minimum value on the X-axis.
             //! (Can also get both minimum and maximum as a std::pair).
             return derived().x_axis_.min_;
           }
@@ -3299,7 +3295,7 @@
 
           template <class Derived>
           double axis_plot_frame<Derived>::x_max()
- { //! Get the maximum value on the X-axis.
+ { //! \return the maximum value on the X-axis.
             //! (Can also get both minimum and maximum as a std::pair).
             return derived().x_axis_.max_;
           }
@@ -3314,14 +3310,14 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::autoscale_check_limits()
- { //! Get to check that values used for autoscale are within limits.
+ { //! \return to check that values used for autoscale are within limits.
             //! Default is true, but can switch off checks for speed.
             return derived().autoscale_check_limits_;
           }
 
          template <class Derived>
           bool axis_plot_frame<Derived>::x_autoscale()
- { //! Get true if to use autoscale value for X-axis.
+ { //! \return true if to use autoscale value for X-axis.
            return derived().x_autoscale_;
           }
 
@@ -3416,7 +3412,7 @@
 
           template <class Derived>
           bool axis_plot_frame<Derived>::x_with_zero()
- { //! Get true if X-axis autoscale to include zero (default = false).
+ { //! \return true if X-axis autoscale to include zero (default = false).
            return derived().x_include_zero_;
           }
 
@@ -3430,25 +3426,26 @@
 
           template <class Derived>
           int axis_plot_frame<Derived>::x_min_ticks()
- { //! Get X-axis autoscale minimum number of ticks.
+ { //! \return X-axis autoscale minimum number of ticks.
            return derived().x_min_ticks_;
           }
 
           template <class Derived>
           Derived& axis_plot_frame<Derived>::x_steps(int steps)
- { //! Set autoscale to set ticks in steps multiples of:
- //! 2,4,6,8,10, if 2,
- //! or 1,5,10 if 5,
- //! or 2,5,10 if 10.
- //! default = 0 (none)
- //! Must preceed x_autoscale(data) call.
+ { /*! Set autoscale to set ticks in steps multiples of:\n
+ 2,4,6,8,10, if 2\n
+ or 1,5,10 if 5\n
+ or 2,5,10 if 10.\n
+ default = 0 (none).
+ \note: Must preceed x_autoscale(data) call).
+ */
             derived().x_steps_ = steps;
             return derived();
           }
 
           template <class Derived>
           int axis_plot_frame<Derived>::x_steps()
- { //! Get autoscale to set ticks in steps.
+ { //! \return autoscale to set ticks in steps.
            return derived().x_steps_;
           }
 
@@ -3463,31 +3460,31 @@
 
          template <class Derived>
          double axis_plot_frame<Derived>::x_tight()
- { //! Get tolerance given to autoscale to permit data points slightly outside both end ticks.
+ { //! \return tolerance given to autoscale to permit data points slightly outside both end ticks.
            return derived().x_tight_;
          }
 
          template <class Derived>
          double axis_plot_frame<Derived>::x_auto_min_value()
- { //! Get the X-axis minimum value computed by autoscale.
+ { //! \return the X-axis minimum value computed by autoscale.
            return derived().x_auto_min_value_;
          }
 
          template <class Derived>
          double axis_plot_frame<Derived>::x_auto_max_value()
- { //! Get the X-axis maximum value computed by autoscale.
+ { //! \return the X-axis maximum value computed by autoscale.
            return derived().x_auto_max_value_;
          }
 
          template <class Derived>
          double axis_plot_frame<Derived>::x_auto_tick_interval()
- { //! Get the X-axis major tick interal computed by autoscale.
+ { //! \return the X-axis major tick interal computed by autoscale.
            return derived().x_auto_tick_interval_;
          }
 
         template <class Derived>
         int axis_plot_frame<Derived>::x_auto_ticks()
- { //! Get the X-axis number of major ticks computed by autoscale.
+ { //! \return the X-axis number of major ticks computed by autoscale.
          return derived().x_auto_ticks_;
         }
 

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -154,12 +154,12 @@
 
     // Set and get member functions.
     svg_style& style()
- { //! Get reference to svg_style to provide indirect access to colors & width via style().stroke_color(), fill_color(), width()
+ { //! \return reference to svg_style to provide indirect access to colors & width via style().stroke_color(), fill_color(), width()
       return style_info_;
     }
 
     const svg_style& style() const
- { //! Get reference to const svg_style to provide indirect access to colors & width via style().stroke_color(), fill_color(), width() (const version).
+ { //! \return reference to const svg_style to provide indirect access to colors & width via style().stroke_color(), fill_color(), width() (const version).
       return style_info_;
     }
 
@@ -185,7 +185,7 @@
    }
 
     std::string id()
- { //! Get the unique name for an element, for example id() ="plotBackground".
+ { //! \return the unique name for an element, for example id() ="plotBackground".
       return id_name_;
     }
 
@@ -210,7 +210,7 @@
     }
 
     std::string clip_id()
- { //! Get name of a clip path, for example: g_ptr.clip_id(plot_window_clip_);
+ { //! \return name of a clip path, for example: g_ptr.clip_id(plot_window_clip_);
       return clip_name_;
     }
   }; // class svg_element

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp 2009-02-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -256,7 +256,7 @@
   cout << "x_label_units_on " << plot.x_label_units_on() << endl;
   // Not implemented yet.
   //cout << "x_label_width " << plot.x_label_width() << endl;
- cout << "x_major_value_labels_side " << l_or_r(plot.x_major_value_labels_side()) << endl;
+ cout << "x_major_labels_side " << l_or_r(plot.x_major_labels_side()) << endl;
   cout << "x_values_font_size " << plot.x_values_font_size() << endl;
   cout << "x_values_color " << plot.x_values_color() << endl;
   cout << "x_values_precision " << plot.x_values_precision() << endl;
@@ -307,7 +307,7 @@
   //cout << "y_major_grid_color " << plot.y_major_grid_color() << endl;
   //cout << "y_major_grid_width " << plot.y_major_grid_width() << endl;
   //cout << "y_major_interval " << plot.y_major_interval() << endl;
- //cout << "y_major_value_labels_side " << t_or_b(plot.y_major_value_labels_side()) << endl;
+ //cout << "y_major_labels_side " << t_or_b(plot.y_major_labels_side()) << endl;
   //cout << "y_major_label_rotation " << plot.y_major_label_rotation() << endl;
   //cout << "y_major_tick_color " << plot.y_major_tick_color() << endl;
   //cout << "y_major_tick_length " << plot.y_major_tick_length() << endl;

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/show_2d_settings.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/show_2d_settings.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/show_2d_settings.hpp 2009-02-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -255,7 +255,7 @@
   cout << "x_label_units_on " << plot.x_label_units_on() << endl;
   //cout << "x_label_width " << plot.x_label_width() << endl;
   // Not useful at present, so not longer implemented.
- cout << "x_major_value_labels_side " << l_or_r(plot.x_major_value_labels_side()) << endl;
+ cout << "x_major_labels_side " << l_or_r(plot.x_major_labels_side()) << endl;
   cout << "x_major_label_rotation " << plot.x_major_label_rotation() << endl;
   cout << "x_major_grid_color " << plot.x_major_grid_color() << endl;
   cout << "x_major_grid_on " << plot.x_major_grid_on() << endl;
@@ -299,7 +299,7 @@
   cout << "y_major_grid_color " << plot.y_major_grid_color() << endl;
   cout << "y_major_grid_width " << plot.y_major_grid_width() << endl;
   cout << "y_major_interval " << plot.y_major_interval() << endl;
- cout << "y_major_value_labels_side " << t_or_b(plot.y_major_value_labels_side()) << endl;
+ cout << "y_major_labels_side " << t_or_b(plot.y_major_labels_side()) << endl;
   cout << "y_major_label_rotation " << plot.y_major_label_rotation() << endl;
   cout << "y_major_tick_color " << plot.y_major_tick_color() << endl;
   cout << "y_major_tick_length " << plot.y_major_tick_length() << endl;

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -362,12 +362,12 @@
   }
 
   unsigned int x_size()
- { //! Get X-axis (horizontal) image size.
+ { //! \return X-axis (horizontal) image size.
     return x_size_;
   }
 
   unsigned int y_size()
- { //! Get Y-axis (vertical) image size.
+ { //! \return Y-axis (vertical) image size.
     return y_size_;
   }
 
@@ -392,7 +392,7 @@
   }
 
   int coord_precision()
- { //!< Get decimal digits to be output for X and Y coordinates.
+ { //!< \return decimal digits to be output for X and Y coordinates.
     return coord_precision_;
   }
 
@@ -600,20 +600,20 @@
   }
 
   const std::string& reproduction()
- { //! Get license reproduction requirement.
+ { //! \return license reproduction requirement.
     return reproduction_;
   }
 
   const std::string& distribution()
- { //! Get license distribution requirement.
+ { //! \return license distribution requirement.
     return distribution_;
   }
   const std::string& attribution()
- { //! Get license attribution requirement.
+ { //! \return license attribution requirement.
     return attribution_;
   }
   const std::string& commercialuse()
- { //! Get license commercial use requirement.
+ { //! \return license commercial use requirement.
     return commercialuse_;
   }
 
@@ -633,7 +633,7 @@
   }
 
   const std::string& description()
- { //! \verbatim Get description of the document (for header as <desc>).\endverbatim
+ { //! \return \verbatim description of the document (for header as <desc>).\endverbatim
     return image_desc_;
   }
 
@@ -643,7 +643,7 @@
   }
 
   const std::string& author()
- { //! \verbatim Get author of the document (for header as <author>).\endverbatim
+ { //! \return \verbatim author of the document (for header as <author>).\endverbatim
     return author_;
   }
 
@@ -653,7 +653,7 @@
   }
 
   const std::string document_title()
- { //! \verbatim Get document title for the document (for header as <title>). \endverbatim
+ { //! \return \verbatim document title for the document (for header as <title>). \endverbatim
     return title_document_;
   }
 
@@ -663,7 +663,7 @@
   }
 
   const std::string copyright_holder()
- { //! \verbatim Get document title for the document (for header as <copyright_holder>). \endverbatim
+ { //! \verbatim \return document title for the document (for header as <copyright_holder>). \endverbatim
     return holder_copyright_;
   }
 
@@ -673,7 +673,7 @@
   }
 
   const std::string copyright_date()
- { //! \verbatim Get document title for the document (for header as <copyright_date>). \endverbatim
+ { //! \return \verbatim document title for the document (for header as <copyright_date>). \endverbatim
     return date_copyright_;
   }
 
@@ -683,7 +683,7 @@
   }
 
   const std::string image_filename()
- { //! \verbatim Get image filename for the document (for header as <filename>). \endverbatim
+ { //! \return \verbatim image filename for the document (for header as <filename>). \endverbatim
     return filename_;
   }
 
@@ -790,7 +790,7 @@
   }
 
   g_element& g(int i)
- { //! Get from the array of g_elements, indexed by group type, PLOT_BACKGROUND, PLOT_WINDOW_BACKGROUND, ... SVG_PLOT_DOC_CHILDREN
+ { //! \return from the array of g_elements, indexed by group type, PLOT_BACKGROUND, PLOT_WINDOW_BACKGROUND, ... SVG_PLOT_DOC_CHILDREN
     return document.g(i); //! return reference to the ith group element.
   }
 

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -138,30 +138,30 @@
 svg_1d_plot_series& svg_1d_plot_series::fill_color(const svg_color& col_)
 { //! Set fill color for plot point marker(s) (chainable).
   point_style_.fill_color_ = col_;
- return *this; // \return reference to svg_1d_plot_series to make chainable.
+ return *this; //! \return reference to svg_1d_plot_series to make chainable.
 }
 
 svg_1d_plot_series& svg_1d_plot_series::stroke_color(const svg_color& col_)
 { //! Set stroke color for plot point marker(s) (chainable).
   point_style_.stroke_color_ = col_;
- return *this; // \return reference to svg_1d_plot_series to make chainable.
+ return *this; //! \return reference to svg_1d_plot_series to make chainable.
 }
 
 svg_1d_plot_series& svg_1d_plot_series::shape(point_shape shape_)
 { //! Set shape for plot point marker(s) (chainable).
   point_style_.shape_ = shape_;
- return *this; // \return reference to svg_1d_plot_series to make chainable.
+ return *this; //! \return reference to svg_1d_plot_series to make chainable.
 }
 
 point_shape svg_1d_plot_series::shape()
-{//! Get shape for plot point marker(s).
+{ //! \return shape for plot point marker(s).
   return point_style_.shape_;
 }
 
 svg_1d_plot_series& svg_1d_plot_series::symbols(const std::string s)
 { //! Set symbol for plot point marker(s).
   point_style_.symbols_ = s;
- return *this; // \return reference to svg_1d_plot_series to make chainable.
+ return *this; //! \return reference to svg_1d_plot_series to make chainable.
 }
 
 svg_1d_plot_series& svg_1d_plot_series::size(int size_)
@@ -169,16 +169,16 @@
   //point_style_.size_ = size_;
   //point_style_.symbols_style_.font_size(i); // in case using a symbol.
   point_style_.size(size_);
- return *this; // \return reference to svg_1d_plot_series to make chainable.
+ return *this; //! \return reference to svg_1d_plot_series to make chainable.
 }
 
 int svg_1d_plot_series::size()
-{ //! Get size of plot point marker(s).
+{ //! \return size of plot point marker(s).
   return point_style_.size();
 }
 
 const std::string svg_1d_plot_series::symbols()
-{ //! Get symbol for plot point marker(s).
+{ //! \return symbol for plot point marker(s).
   return point_style_.symbols_;
 }
 
@@ -195,7 +195,7 @@
 }
 
 double svg_1d_plot_series::line_width()
-{ //! Get width of any line joining plot points.
+{ //! \return width of any line joining plot points.
   return line_style_.width_;
 }
 
@@ -206,7 +206,7 @@
 }
 
 bool svg_1d_plot_series::line_on()
-{ //! Get if to draw a line joining plot points (if true).
+{ //! \return if to draw a line joining plot points (if true).
   return line_style_.bezier_on_;
 }
 
@@ -217,7 +217,7 @@
 }
 
 bool svg_1d_plot_series::bezier_on()
-{ //! Get to draw bezier curved line joining plot points (if true).
+{ //! \return to draw bezier curved line joining plot points (if true).
   return line_style_.bezier_on_;
 }
 

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -56,8 +56,8 @@
     class svg_2d_plot_series
     { /*! \class boost::svg::svg_2d_plot_series
         \brief Holds a series of 2D data values (points) to be plotted.
- \details Data values are sorted into normal and 'at limits'
- - NaN, infinity or too small or too large.\n\n
+ \details Data values are sorted into normal and 'at limits':
+ NaN, infinity or too small or too large.\n\n
           multimap is used rather than vector of pairs because
           multimap sorts and ensures that lines joining data points
           are unaffected by the order in which data is presented.
@@ -71,12 +71,12 @@
       std::multimap<double, double> series; //!< Normal 'OK to plot' data values.
       std::multimap<double, double> series_limits; //!< 'limit' values: too big or small, or NaN.
 
- std::string title_; // Title of data series (to show on legend using legend style).
- plot_point_style point_style_; // circle, square...
- plot_point_style limit_point_style_; // Default is cone pointing down.
- plot_line_style line_style_;
- bar_style bar_style_;
- histogram_style histogram_style_;
+ std::string title_; //!< Title of data series (to show on legend using legend style).
+ plot_point_style point_style_; //!< Data point marker like circle, square...
+ plot_point_style limit_point_style_; //!< At limit data point marker. Default is cone pointing down.
+ plot_line_style line_style_; //!< Style (color, width...) of line joining data points.
+ bar_style bar_style_; //!< Style of bar used in histograms.
+ histogram_style histogram_style_; //!< Style of histogram.
 
       // Constructor.
       template <class T> // T an STL container: for example: multimap.
@@ -119,11 +119,12 @@
 
    // svg_2d_plot_series constructor.
 
- template <class T> // T an STL container: for example: multimap.
- svg_2d_plot_series::svg_2d_plot_series(T begin, T end, // of data series.
- std::string title) // Title of data series.
+ template <class T> // \tparam T an STL container: for example: multimap.
+ svg_2d_plot_series::svg_2d_plot_series(T begin, //! \param begin of data series.
+ T end, //! \param end of data series.
+ std::string title) //! \param std::string title Title of data series.
     :
- title_(title),
+ title_(title), //!< Title of a series of data values.
     // plot_point_style(const svg_color& fill = blank, const svg_color& stroke = black,
     // int size = 10, point_shape shape = round, const std::string& symbols = "X")
     point_style_(black, blank, 10, round), // Default point style.
@@ -147,37 +148,37 @@
   } // svg_2d_plot_series
 
   svg_2d_plot_series& svg_2d_plot_series::fill_color(const svg_color& col_)
- { // Data series point marker fill color.
+ { //! Set data series point marker fill color.
     point_style_.fill_color_ = col_;
     return *this;
   }
 
    svg_2d_plot_series& svg_2d_plot_series::stroke_color(const svg_color& col_)
- { // Data series point marker stroke color.
+ { //! Set Data series point marker stroke color.
     point_style_.stroke_color_ = col_;
     return *this;
   }
 
   svg_2d_plot_series& svg_2d_plot_series::shape(point_shape shape_)
- { // Data series point marker shape.
+ { //! Set Data series point marker shape.
     point_style_.shape_ = shape_;
     return *this;
   }
 
   svg_2d_plot_series& svg_2d_plot_series::size(int size_)
- { // Data series point marker size.
+ { //! Set Data series point marker size.
     point_style_.size_ = size_;
     return *this;
   }
 
   svg_2d_plot_series& svg_2d_plot_series::line_color(const svg_color& col_)
- { // Data series line color.
+ { //! Set Data series line color.
     line_style_.stroke_color_ = col_;
     return *this;
   }
 
   svg_2d_plot_series& svg_2d_plot_series::area_fill(const svg_color& col_)
- { // Data series area fill color.
+ { //! Set Data series area fill color.
     line_style_.area_fill_ = col_;
     // Note that area_fill(false) will produce a *blank* color, and so NO FILL.
     // area_fill(blank) will produce the default non-blank color (black?).
@@ -185,129 +186,130 @@
   }
 
   svg_2d_plot_series& svg_2d_plot_series::line_width(double wid_)
- { // Data series line width.
+ { //! Set data series line width.
     line_style_.width_ = wid_; // Sets legend line width too.
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
 
   svg_2d_plot_series& svg_2d_plot_series::line_on(bool on_)
- {
+ { //! Set to draw line linking data points.
     line_style_.line_on_ = on_;
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
 
   svg_2d_plot_series& svg_2d_plot_series::bezier_on(bool on_)
- {
+ {//! Set to draw bezier curved line linking data points.
     line_style_.bezier_on_ = on_;
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
 
   svg_2d_plot_series& svg_2d_plot_series::bar_opt(bar_option opt_)
- {
+ { //! Set bar option.
     bar_style_.bar_option_ = opt_;
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
 
   svg_2d_plot_series& svg_2d_plot_series::bar_width(double wid_)
- {
+ { //! Set Bar width.
     bar_style_.width_ = wid_;
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
 
   svg_2d_plot_series& svg_2d_plot_series::bar_color(const svg_color& col)
- {
+ {//! Set bar color.
     bar_style_.color_ = col;
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
 
   svg_2d_plot_series& svg_2d_plot_series::bar_area_fill(const svg_color& col)
- {
+ { //! \param col Set bar area fill color.
     bar_style_.area_fill_ = col;
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
 
   plot_line_style svg_2d_plot_series::line_style()
- {
+ { //! \return line_style for line joining data points..
     return line_style_;
   }
 
   double svg_2d_plot_series::line_width()
- {
+ { //! \return width of line joining data points.
     return line_style_.width_;
   }
 
   bool svg_2d_plot_series::bezier_on()
- {
+ { //! \return true if line joing data points should be a bezier curve.
     return svg_2d_plot_series::line_style_.bezier_on_;
   }
 
   bool svg_2d_plot_series::line_on()
- {
+ { //! \return true if a line is to join data points.
     return svg_2d_plot_series::line_style_.line_on_;
   }
 
  svg_color& svg_2d_plot_series::line_color()
- {
+ { //! \return color of a line to join data points.
     return line_style_.stroke_color_;
   }
 
   svg_color& svg_2d_plot_series::area_fill()
- {
+ { //! \return area_fill info below line(s) joining data points.
     return line_style_.area_fill_;
   }
 
   int svg_2d_plot_series::size()
- {
+ { //! \return size of data point marker(s).
     return point_style_.size_;
   }
 
   point_shape svg_2d_plot_series::shape()
- {
+ { //! \return shape of data point marker(s).
     return point_style_.shape_;
   }
 
   bar_option svg_2d_plot_series::bar_opt()
- {
+ { //! \return bar options.
     return bar_style_.bar_option_;
   }
 
   double svg_2d_plot_series::bar_width()
- {
+ { //! \return bar width
     return bar_style_.width_;
   }
 
   svg_color& svg_2d_plot_series::bar_color()
- {
+ { //! \return bar color.
     return bar_style_.color_;
   }
 
   svg_color& svg_2d_plot_series::bar_area_fill()
- {
+ { //! \return bar area fill.
     return bar_style_.area_fill_;
   }
 
   svg_2d_plot_series& svg_2d_plot_series::histogram(histogram_option opt_)
- { // column = -1, // Bar or row line (stroke width) horizontal to Y-axis.
- // no_histogram = 0,
- // bar = +1 // Stick or column line (stroke width) vertical to X-axis.
+ { /*!
+ \param opt_ no_histogram = 0,
+ \param opt_ bar = +1 // Stick or column line (stroke width) vertical to X-axis.
+ */
     histogram_style_.histogram_option_ = opt_;
- return *this; // \return reference to svg_2d_plot_series to make chainable.
+ return *this; //! \return reference to svg_2d_plot_series to make chainable.
   }
   // end svg_2d_plot_series Member Functions Definitions.
 
     class svg_2d_plot : public detail::axis_plot_frame<svg_2d_plot>
     { /*! \class boost::svg::svg_2d_plot
     \brief Provides svg_2d_plot data and functions to create plots.
- Very many functions allow very fine control of the
- appearance and layout of plots, data markers and lines.
- \details See also svg_2d_plot_series to allow data values to be added.
-
- svg_2d_plot allows us to store plot state locally in svg_plot.
- We don't store it in "svg" because transforming the points after they are
- written to the document would be difficult. We store the Cartesian
- coordinates locally and transform them before we write them.\n
+ Very many functions allow very fine control of the
+ appearance and layout of plots, data markers and lines.
+ \details
+ See also svg_2d_plot_series to allow data values to be added.
+ svg_2d_plot allows us to store plot state locally in svg_plot.
+ We don't store it in "svg" because transforming the points after they are
+ written to the document would be difficult. We store the Cartesian
+ coordinates locally and transform them before we write them.\n
 
- See also svg_1d_plot.hpp for 1-D version.
+ See also svg_1d_plot.hpp for 1-D version.
     */
      friend void show_plot_settings(svg_2d_plot&);
      friend svg_2d_plot_series;
@@ -320,127 +322,137 @@
       // and set & get accessor functions are named without _ suffix,
       // for example: border_margin() & border_margin(int).
 
- double x_scale_; // Use by function transform()
- double x_shift_; // to go from Cartesian to svg coordinates.
- double y_scale_;
- double y_shift_;
-
- // Stored so as to avoid rewriting style information constantly.
- svg image;
-
- double text_margin_; // Marginal space around text items like title,
- // text_margin_ * font_size to get distance in svg units.
-
- text_style a_style_; // Defaults.
- // text_style contains font size & type etc.
- text_style title_style_;
- text_style legend_style_;
- text_style x_axis_label_style_;
- text_style x_value_label_style_;
- text_style y_axis_label_style_;
- text_style y_value_label_style_;
- text_style point_symbols_style_; // Used for data point marking.
- text_element title_info_; // Plot title.
- text_element legend_header_; // legend box header or title (if any).
- text_element x_label_info_; // For example: "length"
- text_element x_label_value_; // For example: "1.2" or "1.2e+001"
- text_element y_label_info_; // For example: "volume"
- text_element x_units_info_; // For example: "mm"
- text_element y_units_info_; // 2-D only.
- text_element y_label_value_; // For example: "1.2" or "1.2e+001"
-
- text_style value_style_; // Used for data point value label.
- value_style x_values_style_; // Data point X value marking.
- value_style y_values_style_; // Data point Y value marking.
- //bool x_plusminus_on_; // http://en.wikipedia.org/wiki/Plus-minus_sign
- //// Unicode &#0xB1; HTML &plusmn;
-
- //rotate_style y_value_label_rotation_; // Direction point Y value labels written.
- //int y_value_precision_;
- //std::ios_base::fmtflags y_value_ioflags_;
-
- box_style image_border_; // rectangular border of all image width, color...
- box_style plot_window_border_; // rectangular border of plot window width, color...
- box_style legend_box_; // rectangular box of legend width, color...
-
- // TODO doubles also could be float?
- double plot_left_;
- double plot_right_;
- double plot_top_;
- double plot_bottom_;
+ double x_scale_; //!< scale factor used by transform() to go from Cartesian to SVG coordinates.
+ double x_shift_; //!< shift factor used by transform() to go from Cartesian to SVG coordinates.
+ double y_scale_; //!< scale factor used by transform() to go from Cartesian to SVG coordinates.
+ double y_shift_; //!< shift factor used by transform() to go from Cartesian to SVG coordinates.
+
+ svg image; //!< Stored so as to avoid rewriting style information constantly.
+
+ double text_margin_; //!< Marginal space around text items like title, text_margin_ * font_size to get distance in svg units.
+
+ text_style a_style_; //!< Defaults for text_style (contains font size & type etc).
+ text_style title_style_; //!< Style for plot title.
+ text_style legend_style_; //! Style for legend title and text.
+ text_style x_axis_label_style_; //!< Style for tick labels on X axis.
+ text_style x_value_label_style_; //!< Style for data point value labels on X axis.
+ text_style y_axis_label_style_; //!< Style for tick labels on Y axis.
+ text_style y_value_label_style_;//!< Style for data point value labels on Y axis.
+ text_style point_symbols_style_; //!< Style used for symbol marking a data point.
+ text_element title_info_; //!< Plot title text.
+ text_element legend_header_; //!< Legend box header or title (if any).
+ text_element x_label_info_; //!< X axis label text, for example: "length".
+ text_element x_label_value_; //!< X axis value text, for example: "1.2" or "1.2e+001"
+ text_element y_label_info_; //!< Y axis label text, for example: "volume".
+ text_element x_units_info_; //!< X axis units, for example: "mm".
+ text_element y_units_info_; //!< Y axis units, for example: "min". (2-D only).
+ text_element y_label_value_; //!< Y axis value text, for example: "1.2" or "1.2e+001"
+
+ text_style value_style_; //!< Style used for data point value label.
+ value_style x_values_style_; //!< Data point X value marking.
+ value_style y_values_style_; //!< Data point Y value marking.
+ bool x_plusminus_on_; //!< http://en.wikipedia.org/wiki/Plus-minus_sign Unicode \&\#0xB1; HTML \&plusmn;
+
+ rotate_style y_value_label_rotation_; //!< Direction point Y value labels written (default horizontal).
+ int y_value_precision_; //!< std::ios precision used for Y value labels (default 3).
+ std::ios_base::fmtflags y_value_ioflags_; //!< std::iosflags used for Y vale labels (default ios::dec).
+
+ box_style image_border_; //!< rectangular border box style of all image width, color...
+ box_style plot_window_border_; //!< rectangular border box style of plot window width, color...
+ box_style legend_box_; //!< rectangular box style of legend width, color...
+
+ // TODO doubles also could be float?
+ double plot_left_; //!< SVG X coordinate (pixels) of left side of plot window.
+ double plot_right_; //!< SVG X coordinate of right side of plot window.
+ double plot_top_; //!< SVG Y coordinate of top side of plot window.
+ double plot_bottom_; //!< SVG Y coordinate of bottom side of plot window.
 
       // enum legend_places{ nowhere, inside...}
- legend_places legend_place_; // Place for any legend box.
- double legend_width_; // Width of legend box (pixels).
- double legend_height_; // Height of legend box (in pixels).
+ legend_places legend_place_; //!< Place for any legend box.
+ double legend_width_; //!< Width of legend box (pixels).
+ double legend_height_; //!< Height of legend box (in pixels).
       // Size of legend box is controlled by its contents,
       // but helpful to store computed coordinates.
- double legend_left_; // Left of legend box.
- double legend_top_; // Top of legend box.
+ double legend_left_; //!< Left of legend box.
+ double legend_top_; //!< Top of legend box.
       // Both optionally set by legend_top_left.
- double legend_right_; // SVG Coordinates of right of legend box,
- double legend_bottom_; // bottom of legend box.
- size_t legend_longest_; // longest (both header & data) string in legend box,
-
- axis_line_style x_axis_;
- axis_line_style y_axis_;
-
- ticks_labels_style x_ticks_;
- ticks_labels_style y_ticks_;
-
- bool title_on_; // Provide a title for the whole plot.
- bool legend_on_; // Provide a legend box.
- bool outside_legend_on_; // Legend box outside the plot window.
- bool legend_lines_; // get/set by legend_lines(bool); data colored line type in legend box.
- bool plot_window_on_; // Use a separate plot window (not whole image).
- bool x_ticks_on_; // TODO check these are really useful.
- bool y_ticks_on_;
- bool x_values_on_; // If values of X data are shown.
- bool y_values_on_; // If values of Y data are shown.
- bool xy_values_on_; // If values of X & Y pairs are shown.
-
- int x_axis_position_;
- int y_axis_position_;
-
- bool autoscale_check_limits_; // Whether to check autoscale values for infinity, NaN, max, min.
- bool x_autoscale_; // Whether to use any X-axis autoscale values.
- bool x_include_zero_; // If autoscaled, include zero.
- int x_min_ticks_; // If autoscaled, set a minimum number of X ticks.
- double x_tight_;
- int x_steps_; // If autoscaled, set any prescaling to decimal 1, 2, 5, 10 etc.
-
- // Values calculated by scale_axis, and is used only if x_autoscale == true.
- double x_auto_min_value_;
- double x_auto_max_value_;
- double x_auto_tick_interval_; // tick major interval.
- int x_auto_ticks_; // Number of ticks.
+ double legend_right_; //!< SVG Coordinates of right of legend box,
+ double legend_bottom_; //!< SVG Coordinates of bottom of legend box.
+ size_t legend_longest_; //!< longest (both header & data) string in legend box.
+ // (used to calculate how big the legend box needs to be, and thus position of it and plot window).
+
+ axis_line_style x_axis_; //!< Style of X axis.
+ axis_line_style y_axis_; //!< Style of Y axis.
+
+ ticks_labels_style x_ticks_; //!< Style of X axis tick marks and labels.
+ ticks_labels_style y_ticks_; //!< Style of Y axis tick marks and labels.
+
+ bool title_on_; //!< true if to display a title for the whole plot.
+ bool legend_on_; //!< true if to provide a legend box.
+ bool outside_legend_on_; //! true if legend box should be outside the plot window.
+ bool legend_lines_; //! true if to add a colored line for each data series in legend box.
+ bool plot_window_on_; //!< true if to use a separate plot window (not the whole image).
+ bool x_ticks_on_; //!< true if X axis to have ticks.
+ bool y_ticks_on_; //!< true if Y axis to have ticks.
+ bool x_values_on_; // If values of X data are shown (as 1.23).
+ bool y_values_on_; // If values of Y data are shown (as 3.45).
+ bool xy_values_on_; // If values of X & Y pairs are shown (as 1.23, 3.43).
+
+ int x_axis_position_; //!< Intersection with Y axis, or not.
+ int y_axis_position_; //!< Intersection with X axis, or not.
+
+ bool autoscale_check_limits_; //!< true if to check autoscale values for infinity, NaN, max, min.
+ bool x_autoscale_; //!< true if to use any X-axis autoscale values.
+ bool x_include_zero_; //!< true if autoscaled, to include zero.
+ int x_min_ticks_; //!< If autoscaled, set a minimum number of X ticks.
+ double x_tight_; //!< Tolerance used by autoscale to avoid extra ticks.
+ int x_steps_; //!< true if autoscale to set any prescaling to multiple of decimal 1, 2, 5, 10 etc.
+
+ double x_auto_min_value_; //!< Values calculated by scale_axis (used only if x_autoscale == true).
+ double x_auto_max_value_; //!< Values calculated by scale_axis (used only if x_autoscale == true).
 
- bool y_autoscale_; // Whether to use any y_axis autoscale values.
- bool y_include_zero_; // If autoscaled, include zero.
+ double x_auto_tick_interval_; //!< tick major interval.
+ int x_auto_ticks_; //!< Number of ticks.
+
+ bool y_autoscale_; //!< true if to use any y_axis autoscale values.
+ bool y_include_zero_; //!< true if autoscale to include zero.
       int y_min_ticks_; // If autoscaled, set a minimum number of Y ticks.
- double y_tight_;
- int y_steps_; // If autoscaled, set any prescaling to decimal 1, 2, 5, 10 etc.
+ double y_tight_; //!< Tolerance used by autoscale to avoid extra ticks.
+ int y_steps_; //!< If autoscaled, set any prescaling to decimal 1, 2, 5, 10 etc.
 
- // Values calculated by scale_axis, and is used only if y_autoscale == true.
- double y_auto_min_value_;
- double y_auto_max_value_;
- double y_auto_tick_interval_; // tick major interval.
- int y_auto_ticks_; // Number of ticks.
-
- // Where we will be storing the data points (series) for transformation.
- std::vector<svg_2d_plot_series> series; // Defined above.
-
- std::string plot_window_clip_; // = "clip_plot_window" id for clippath
- // http://www.w3.org/TR/SVG/masking.html#ClipPathElement 14.1 Introduction
- // clipping paths, which uses any combination of 'path', 'text' and basic shapes
- // to serve as the outline where everything on the "inside" of the outline
- // is allowed to show through but everything on the outside is masked out.
- // So the plot_window_clip_ limits display to a plot_window rectangle.
+ double y_auto_min_value_; //!< Values calculated by scale_axis (used only if y_autoscale == true).
+ double y_auto_max_value_; //!< Values calculated by scale_axis (used only if y_autoscale == true).
+ double y_auto_tick_interval_; //!< tick major interval (calculated by Y autoscale).
+ int y_auto_ticks_; //!< Number of ticks (calculated by Y autoscale).
+
+ std::vector<svg_2d_plot_series> series; //!< Store of data points (series) for transformation.
+
+ std::string plot_window_clip_; /*!< = "clip_plot_window" id for clippath
+ http://www.w3.org/TR/SVG/masking.html#ClipPathElement 14.1 Introduction clipping paths,\n
+ which uses any combination of 'path', 'text' and basic shapes
+ to serve as the outline where everything on the "inside" of the outline
+ is allowed to show through but everything on the outside is masked out.
+ So the plot_window_clip_ limits display to a plot_window rectangle.
+ */
 
     public: // of class svg_2d_plot: public detail::axis_plot_frame<svg_2d_plot>
 
- svg_2d_plot() // Constructor, including all the very many default plot options,
- // some of which use some or all of the class defaults.
+ 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
+svg_2d_plot my_plot;
+my_plot.background_color(ghostwhite) // Whole image.
+ .legend_border_color(yellow) // Just the legend box.
+ .legend_background_color(lightyellow) // Fill color of the legend box.
+ .plot_background_color(svg_color(white)) // Just the plot window
+ .plot_border_color(svg_color(green)) // The border rectangle color.
+ .plot_border_width(1) // Thin border (SVG units, default pixels).
+ .title_color(red) // Title of whole image.
+;
+ \endcode
+ */
         :
         // See documentation for default settings rationale.
         // text_styles:
@@ -499,8 +511,8 @@
         y_autoscale_(false),
         y_include_zero_(false), // If autoscaled, include zero on Y-axis.
         y_min_ticks_(6), // If autoscaled, set a minimum number of ticks, default 6.
- y_steps_(0), // If autoscaled, set any prescaling to decimal 1, 2, 5, 10 etc, default none.
- y_tight_(1e-6), // margin that point can lie outside top and bottom tick.
+ y_steps_(0), //!< If autoscaled, set any prescaling to decimal 1, 2, 5, 10 etc, default none.
+ y_tight_(1e-6), //!< margin that point can lie outside top and bottom tick without triggering another interval and tick .
 
         // Used to transform Cartesian to SVG.
         x_scale_(1.), x_shift_(0.),
@@ -569,7 +581,7 @@
       // svg_2d_plot Member Functions.
 
       void set_ids() // This only used once in constructor and should be inlined.
- { // document ids for use in <g id = "PLOT_TITLE".../>
+ { //! document ids for use in <g id = "PLOT_TITLE".../>
         for(int i = 0; i < detail::SVG_PLOT_DOC_CHILDREN; ++i)
         { // Order determines the painting order.
           image.g(i).id(detail::document_ids[i]);
@@ -577,16 +589,16 @@
       } // void set_ids()
 
       void transform_pair(std::pair<double, double>& pt)
- { // Transform both x and y from Cartesian to SVG coordinates.
- // SVG image is 0, 0 at top left, Cartesian at bottom left.
+ { //! Transform both x and y from Cartesian to SVG coordinates.
+ //! SVG image is 0, 0 at top left, Cartesian at bottom left.
         transform_point(pt.first, pt.second);
       }
       void calculate_plot_window()
- { // The plot window is used to set a clip path:
- // this ensures that data points and lines (and anything else)
- // outside this window are NOT drawn.
+ { //! The plot window is used to set a clip path:
+ //! this ensures that data points and lines (and anything else)
+ //! outside this window are NOT drawn.
 
- // All calculation use svg units, pixels by default.
+ //! All calculation use svg units, pixels by default.
 
         // Start by assuming we can use all the svg image,
         // but reduce by the width of any image border.
@@ -866,7 +878,7 @@
       } // calculate_plot_window
 
       void draw_y_axis()
- {
+ { //! Draw the Y axis line, grids and ticks with labels.
         double x;
         x = y_axis_.axis_; // Y-axis (x = 0) transformed into X SVG coordinates.
         // Perhaps to left or right of plot window if X values do not include zero.
@@ -985,7 +997,7 @@
       } // draw_y_axis
 
       void draw_y_label()
- { // Draw vertical y_axis_ label, and optional y units.
+ { //! Draw a vertical Y axis label, and optional y units.
         // Y-label color is set in constructor thus:
         // image.g(detail::PLOT_Y_LABEL).style().stroke_color(black);
         // and changed using y_label_color(color);
@@ -1021,7 +1033,7 @@
       } // draw_y_label
 
       void draw_y_major_tick(double value, path_element& tick_path, path_element& grid_path)
- { // Draw a Y axis major tick, tick value labels & grids.
+ { //! Draw a Y axis major tick, tick value labels & grids.
         double y(value); // for tick and/or grid.
         transform_y(y); // Cartesian to SVG coordinates.
         if((y < plot_top_ - 0.01) || (y > plot_bottom_ + 0.01))
@@ -1235,7 +1247,7 @@
       } // draw_y_major_tick
 
       void draw_y_minor_tick(double value, path_element& tick_path, path_element& grid_path)
- { // Draw a Y-axis minor tick and optional grid.
+ { //! Draw a Y-axis minor tick and optional grid. (minor ticks do not have value labels).
         double x_left(0.); // Start on vertical Y axis line.
         double x_right(image.y_size()); // right edge of image.
         double y(value); // Tick position and value label,
@@ -1304,7 +1316,7 @@
       } // void draw_y_minor_tick
 
       void draw_straight_lines(const svg_2d_plot_series& series)
- { // Straight line between data points (rather than a Bezier curve).
+ { //! Add straight line between data points (rather than a Bezier curve).
         double prev_x; // Previous data points.
         double prev_y;
         double temp_x(0.);
@@ -1371,7 +1383,7 @@
       } // draw_straight_lines
 
       void draw_bezier_lines(const svg_2d_plot_series& series)
- {
+ { //! Add Bezier curve line between data points.
         g_element& g_ptr = image.g(detail::PLOT_DATA_LINES).g();
         g_ptr.clip_id(plot_window_clip_);
         g_ptr.style().stroke_color(series.line_style_.stroke_color_);
@@ -1447,7 +1459,7 @@
       } // draw_bezier_lines
 
       void draw_plot_lines()
- { // Draw line through data series, Bezier curved or straight, or none.
+ { //! Draw line through data series, Bezier curved or straight, or none.
         for(unsigned int i = 0; i < series.size(); ++i)
         {
           if(series[i].line_style_.bezier_on_)
@@ -1465,7 +1477,7 @@
       } // draw_plot_lines
 
       void draw_plot_points()
- { // Draw normal 'good' non-limit points.
+ { //! Draw normal 'good' non-limit points and then any 'at limits' points.
         double x(0.);
         double y(0.);
         for(unsigned int i = 0; i < series.size(); ++i)
@@ -1530,7 +1542,7 @@
       } // void draw_plot_points()
 
       void draw_bars()
- { // Draw normal bar chart for 'good' non-limit points.
+ { //! Draw normal bar chart for 'good' non-limit points.
         g_element& g_ptr = image.g(detail::PLOT_DATA_POINTS).g(); // Moved up out of loop.
         double x(0.);
         double y(0.); // Cartesian coord y = 0.
@@ -1599,23 +1611,25 @@
       } // void draw_bars()
 
       void draw_histogram()
- { // Draw a histogram with variable width but contiguous bins.
- // Histograms differ from bar charts in the the *area* denotes the value,
- // whereas the bar *height* denotes the value for a bar chart.
- // bin widths are provided from the X-axis data series values.
- // The 1st data X-value provides the start of the 1st bin,
- // the 2nd data X-value provides the end of the 1st bin,
- // and the 1st Y-value the area of the 1st bin,
- // and the start of the second bin, and so on, until the
- // width of last bin is calculated from the last data point in series,
- // that must have a zero area. ? NaN
- // Bins can be the same (most common) or different widths.
- // Intervals must not overlap and bins must be adjacent.
- // http://en.wikipedia.org/wiki/Histogram
-
- // Attempts to allow a row or horizontal were abandoned because of complications
- // with the use of map which orders the x values providing the bins.
- // Using the y values for the bins implies changing the Y axes labeling and scaling too.
+ { /*!
+ Draw a histogram with variable width but contiguous bins.
+ Histograms differ from bar charts in the the *area* denotes the value,
+ whereas the bar *height* denotes the value for a bar chart.
+ bin widths are provided from the X-axis data series values.
+ The 1st data X-value provides the start of the 1st bin,
+ the 2nd data X-value provides the end of the 1st bin,
+ and the 1st Y-value the area of the 1st bin,
+ and the start of the second bin, and so on, until the
+ width of last bin is calculated from the last data point in series,
+ that must have a zero area. ? NaN
+ Bins can be the same (most common) or different widths.
+ Intervals must not overlap and bins must be adjacent.
+ http://en.wikipedia.org/wiki/Histogram
+
+ Attempts to allow a row or horizontal were abandoned because of complications
+ with the use of map which orders the x values providing the bins.
+ Using the y values for the bins implies changing the Y axes labeling and scaling too.
+ */
 
         g_element& g_ptr = image.g(detail::PLOT_DATA_POINTS).g(); // Moved up out of loop.
         for(unsigned int i = 0; i < series.size(); ++i)
@@ -1679,7 +1693,7 @@
       } // void draw_histogram()
 
       void update_image()
- {
+ { //! Draw the whole SVG image.
         clear_all();
         // svg paint rules are that later 'painting' writes over
         // previous painting, so the order of drawing is important.
@@ -1726,11 +1740,10 @@
         draw_histogram();
     } // void update_image()
 
-
     public: // Declarations of member functions (definitions in separate file).
 
       // All return *this to permit chaining, doucmented with
- // \return reference to svg_2d_plot_series to make chainable.
+ //! \return reference to svg_2d_plot_series to make chainable.
 
       // write() has two flavors, a file and a ostream.
       // The file version opens an ostream, and calls the stream version.
@@ -1753,8 +1766,8 @@
       bool y_label_on();
       svg_2d_plot& x_label_on(bool cmd);
       bool x_label_on();
- svg_2d_plot& y_major_labels_on(int place);
- int y_major_labels_on();
+ svg_2d_plot& y_major_labels_side(int place);
+ int y_major_labels_side();
       svg_2d_plot& y_major_label_rotation(rotate_style rot);
       int y_major_label_rotation();
       svg_2d_plot& y_axis_width(double width);
@@ -1823,12 +1836,10 @@
       double y_minor_tick_width();
       svg_2d_plot& x_ticks_on_window_or_axis(int is);
       int x_ticks_on_window_or_axis();
- svg_2d_plot& x_major_value_labels_side(int is);
- int x_major_value_labels_side();
+ svg_2d_plot& x_major_labels_side(int is);
+ int x_major_labels_side();
       svg_2d_plot& y_ticks_on_window_or_axis(int is);
       int y_ticks_on_window_or_axis();
- svg_2d_plot& y_major_value_labels_side(int is);
- int y_major_value_labels_side();
       svg_2d_plot& y_ticks_left_on(bool cmd);
       bool y_ticks_left_on();
       svg_2d_plot& y_ticks_right_on(bool cmd);
@@ -1875,29 +1886,29 @@
   // Definition of member functions, (ready to be) externally defined in another (.ipp) file.
 
       axis_line_style& svg_2d_plot::x_axis()
- { // \return true if horizontal X axis line to be drawn.
+ { //! \return true if horizontal X axis line to be drawn.
         return x_axis_;
       }
 
      axis_line_style& svg_2d_plot::y_axis()
- { // \return true if vertical Y axis line to be drawn.
+ { //! \return true if vertical Y axis line to be drawn.
         return y_axis_;
       }
 
       ticks_labels_style& svg_2d_plot::x_ticks()
- { // \return true if ticks are to be marked on the X axis.
+ { //! \return true if ticks are to be marked on the X axis.
         return x_ticks_;
       }
 
       ticks_labels_style& svg_2d_plot::y_ticks()
- {// \return true if ticks are to be marked on the Y axis.
+ { //! \return true if ticks are to be marked on the Y axis.
         return y_ticks_;
       }
 
       svg_2d_plot& svg_2d_plot::y_label_on(bool cmd)
       { // If Y axis name or label.
         y_axis_.label_on_ = cmd;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_label_on()
@@ -1906,27 +1917,27 @@
       }
 
       svg_2d_plot& svg_2d_plot::x_label_on(bool cmd)
- {
+ {//! Set to include an X axis text label.
         x_axis_.label_on_ = cmd;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::x_label_on()
- {
+ { //! \return true if to include an X axis text label.
         return x_axis_.label_on_;
       }
 
- svg_2d_plot& svg_2d_plot::y_major_labels_on(int place)
+ svg_2d_plot& svg_2d_plot::y_major_labels_side(int side)
       { /*! Position of labels for major ticks on vertical Y axis line.
- \arg \c place > 0 label to left of Y axis line (default),
- \arg \c place = 0 (false) means no major tick labels on Y axis.
- \arg \c place > 0 means to right of Y axis line.
+ \arg \c side > 0 label to left of Y axis line (default),
+ \arg \c side = 0 (false) means no major tick labels on Y axis.
+ \arg \c side > 0 means to right of Y axis line.
         */
- y_ticks_.major_value_labels_side_ = place;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ y_ticks_.major_value_labels_side_ = side;
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
- int svg_2d_plot::y_major_labels_on()
+ int svg_2d_plot::y_major_labels_side()
       { //! \return Position of labels (if any) for major ticks on vertical Y axis line.
         return y_ticks_.major_value_labels_side_;
       }
@@ -1937,63 +1948,65 @@
         \see rotate_style for possible values.
         */
         y_ticks_.label_rotation_ = rot;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       int svg_2d_plot::y_major_label_rotation()
- {
+ { //! \return rotation of Y axis major tick labels.
         return y_ticks_.label_rotation_ ;
       }
 
-
       svg_2d_plot& svg_2d_plot::y_axis_width(double width)
- {
+ { //! Set width of Y axis line.
         image.g(detail::PLOT_Y_AXIS).style().stroke_width(width);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_axis_width()
- {
+ {//! \return width of Y axis line.
         return image.g(detail::PLOT_Y_AXIS).style().stroke_width();
       }
 
       svg_2d_plot& svg_2d_plot::y_value_precision(int digits)
- { // Precision of Y tick label values in decimal digits (default 3).
+ { //! 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.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       int svg_2d_plot::y_value_precision()
- { // Precision of Y tick label values in decimal digits (default 3).
+ { //! \return precision of Y tick value labels in decimal digits (default 3).
         return y_ticks_.value_precision_;
       }
 
- svg_2d_plot& svg_2d_plot::y_value_ioflags( std::ios_base::fmtflags flags)
- { // IO flags of Y tick label values (default 0X201).
+ 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
         y_ticks_.value_ioflags_ = flags;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       int svg_2d_plot::y_value_ioflags()
- { // ALL stream ioflags for control of format of Y value labels.
+ { //! \return All stream ioflags for control of format of Y tick value labels.
         return y_ticks_.value_ioflags_;
       }
 
       svg_2d_plot& svg_2d_plot::y_labels_strip_e0s(bool cmd)
- {
+ { //! If true then strip unnecessary zeros, signs from labels.
         y_ticks_.strip_e0s_ = cmd;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_labels_strip_e0s()
- {
+ { //! \return true if to strip unnecessary zeros, signs from labels.
         return y_ticks_.strip_e0s_;
       }
 
       svg_2d_plot& svg_2d_plot::y_axis_color(const svg_color& col)
- { // Set only stroke color.
+ { //! Set Y axis linecolor.
+ // set only stroke color.
         image.g(detail::PLOT_Y_AXIS).style().stroke_color(col);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       svg_color svg_2d_plot::y_axis_color()
@@ -2004,7 +2017,7 @@
       svg_2d_plot& svg_2d_plot::y_axis_label_color(const svg_color& col)
       { // Set stroke color.
         image.g(detail::PLOT_VALUE_LABELS).style().stroke_color(col);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       svg_color svg_2d_plot::y_axis_label_color()
@@ -2014,85 +2027,85 @@
       }
 
       svg_2d_plot& svg_2d_plot::y_label_units_on(bool b)
- {
+ { //! Set true to add units text to the Y axis label.
         y_axis_.label_units_on_ = b;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_label_units_on()
- {
+ { //! \return true if to add units text to the Y axis label.
         return y_axis_.label_units_on_;
       }
 
       svg_2d_plot& svg_2d_plot::y_axis_value_color(const svg_color& col)
- {
+ { //! Set color of Y axis value labels.
         image.g(detail::PLOT_VALUE_LABELS).style().stroke_color(col);
- return *this;
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       svg_color svg_2d_plot::y_axis_value_color()
- { // Only return the stroke color.
+ { //! \return color of Y axis value labels.
+ // Only return the stroke color.
         return image.g(detail::PLOT_VALUE_LABELS).style().stroke_color();
       }
 
-
- svg_2d_plot& svg_2d_plot::y_label_width(double width)
- {
+ svg_2d_plot& svg_2d_plot::y_label_width(double width)
+ { //! Set width of Y axis value labels.
         image.g(detail::PLOT_Y_LABEL).style().stroke_width(width);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_label_width()
- {
+ { //! \return color of Y axis value labels.
         return image.g(detail::PLOT_Y_LABEL).style().stroke_width();
       }
 
       svg_2d_plot& svg_2d_plot::y_major_grid_color(const svg_color& col)
- {
+ { //! Set color of Y major grid lines.
         image.g(detail::PLOT_Y_MAJOR_GRID).style().stroke_color(col);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       const svg_color svg_2d_plot::y_major_grid_color()
- {
+ { //! \return color of Y major grid lines.
         return image.g(detail::PLOT_Y_MAJOR_GRID).style().stroke_color();
       }
 
       svg_2d_plot& svg_2d_plot::y_minor_grid_color(const svg_color& col)
- {
+ { //! Set color of Y minor grid lines.
         image.g(detail::PLOT_Y_MINOR_GRID).style().stroke_color(col);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       const svg_color svg_2d_plot::y_minor_grid_color()
- {
+ { //! \return color of Y minor grid lines.
         return image.g(detail::PLOT_Y_MINOR_GRID).style().stroke_color();
       }
 
       svg_2d_plot& svg_2d_plot::y_major_tick_color(const svg_color& col)
- {
+ { //! Set color of Y major tick lines.
         image.g(detail::PLOT_Y_MAJOR_TICKS).style().stroke_color(col);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       const svg_color svg_2d_plot::y_major_tick_color()
- {
+ { //! \return color of Y major tick lines.
         return image.g(detail::PLOT_Y_MAJOR_TICKS).style().stroke_color();
       }
 
       svg_2d_plot& svg_2d_plot::y_minor_tick_color(const svg_color& col)
- {
+ { //! Set color of Y minor tick lines.
         image.g(detail::PLOT_Y_MINOR_TICKS).style().stroke_color(col);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       const svg_color svg_2d_plot::y_minor_tick_color()
- {
+ { //! \return color of Y minor tick lines.
         return image.g(detail::PLOT_Y_MINOR_TICKS).style().stroke_color();
       }
 
       const std::string svg_2d_plot::y_axis_position()
- {
+ { //! \return text information about Y axis position.
         switch(y_axis_position_)
         {
         case left:
@@ -2106,8 +2119,8 @@
         }
       } // const std::string svg_2d_plot::y_axis_position()
 
- svg_2d_plot& svg_2d_plot::y_range(double min_y, double max_y)
- { // Set the range (max and min) for Y values.
+ svg_2d_plot& svg_2d_plot::y_range(double min_y, double max_y)
+ { //! Set the range (max and min) for Y axis from the parameters provided.
         if (!boost::math::isfinite(min_y))
         {
           throw std::runtime_error("Y range: min not finite!");
@@ -2128,11 +2141,11 @@
         y_axis_.min_ = min_y;
         y_axis_.max_ = max_y;
         y_autoscale_ = false;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       std::pair<double, double> svg_2d_plot::y_range()
- {
+ { //! Set the range (max and min) for Y axis from the pair parameter provided.
         std::pair<double, double> r;
         r.first = y_axis_.min_;
         r.second = y_axis_.max_;
@@ -2140,106 +2153,107 @@
       }
 
       double svg_2d_plot::y_min()
- { // Can't check finite ness and relation to y_max.
+ { //! \return minimum for Y axis.
+ // Can't check finite ness and relation to y_max.
         return y_axis_.min_;
       }
 
       double svg_2d_plot::y_max()
- { // Can't check finite ness and relation to y_min.
+ { //! \return minimum for Y axis.
+ // Can't check finite ness and relation to y_min.
         return y_axis_.max_;
       }
 
       bool svg_2d_plot::y_autoscale()
- {
+ { //! \return true if to autoscale minimum and maximum for Y axis.
         return y_autoscale_;
       }
 
       svg_2d_plot& svg_2d_plot::y_autoscale(bool b)
- {
+ { //! Set true if to autoscale minimum and maximum for Y axis.
         y_autoscale_ = b;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_values_on()
- {
+ { //! \return true if values of Y data points are shown (as 1.23).
         return y_values_on_;
       }
 
       svg_2d_plot& svg_2d_plot::y_values_on(bool b)
- {
+ { //! Set true if values of Y data points are shown (as 1.23).
         y_values_on_ = b;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::xy_values_on()
- {
+ { //! \return true if values of X and Y data points are shown (as 1.23).
         return xy_values_on_;
       }
 
       svg_2d_plot& svg_2d_plot::xy_values_on(bool b)
- {
+ { //! Set true if values of X and Y data points are shown (as 1.23).
         xy_values_on_ = b;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_plusminus_on()
- {
+ {//! \return true if values of Y data points are to include uncertainty estimates.
         return y_values_style_.plusminus_on_;
       }
 
       svg_2d_plot& svg_2d_plot::y_plusminus_on(bool b)
- {
+ { //! Set true if values of Y data points are to include uncertainty estimates.
         y_values_style_.plusminus_on_ = b;
         return *this;
- } // \return reference to svg_2d_plot to make chainable.
+ } //! \return reference to svg_2d_plot to make chainable.
 
       bool svg_2d_plot::y_df_on()
- {
+ { //! \return true if values of Y data points are to include degrees of freedom estimates.
         return svg_2d_plot::y_values_style_.df_on_;
       }
 
       svg_2d_plot& svg_2d_plot::y_df_on(bool b)
- {
+ { //! Set true if values of Y data points are to include degrees of freedom estimates.
         y_values_style_.df_on_ = b;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
- svg_2d_plot& svg_2d_plot::y_autoscale(double first, double second)
- { // Use Y min & max values to autoscale.
- scale_axis(first, second, // double min and max from two doubles.
+ svg_2d_plot& svg_2d_plot::y_autoscale(double minimum, double maximum)
+ { //! Set Y min & max values to use to autoscale.
+ // Does this assume first is min and second is max?
+ scale_axis(minimum, maximum, // 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_,
         y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
         y_autoscale_ = true; // Default to use calculated values.
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       } // autoscale(pair<double, double> p)
 
       svg_2d_plot& svg_2d_plot::y_autoscale(std::pair<double, double> p)
- { // Use Y min & max pair values to autoscale.
+ { //! Set Y min & max values as a \b pair to use to 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_,
         y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
         y_autoscale_ = true; // Default to use calculated values.
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       } // autoscale(pair<double, double> p)
 
- template <class T> // T an STL container: array, vector ...
- svg_2d_plot& svg_2d_plot::y_autoscale(const T& begin, const T& end) // Data series using iterators to
- { // to use to calculate autoscaled values.
+ template <class T> //! \tparam T an STL container: array, vector ...
+ svg_2d_plot& svg_2d_plot::y_autoscale(const T& begin, const T& end)
+ { //! Data series using iterator's 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_,
         y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
         y_autoscale_ = true; // Default to use calculated values.
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
-
-
       template <class T> // T an STL container: array, vector ...
- svg_2d_plot& svg_2d_plot::y_autoscale(const T& container) // Whole data series.
- { // to use to calculate autoscaled values.
+ svg_2d_plot& svg_2d_plot::y_autoscale(const T& container)
+ { //! Whole data series 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_,
@@ -2249,8 +2263,8 @@
       }
 
       template <class T> // T a 2D STL container: array, vector ...
- svg_2d_plot& svg_2d_plot::xy_autoscale(const T& container) // Whole data series,
- { // to use to calculate autoscaled values for *both* X and Y axes.
+ svg_2d_plot& svg_2d_plot::xy_autoscale(const T& container)
+ { //! Whole data series to use to calculate autoscaled values for \b both X and Y axes.
         scale_axis(container, // All the container.
           &x_auto_min_value_, &x_auto_max_value_, &x_auto_tick_interval_, &x_auto_ticks_,
           &y_auto_min_value_, &y_auto_max_value_, &y_auto_tick_interval_, &y_auto_ticks_,
@@ -2259,304 +2273,313 @@
           y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
         x_autoscale_ = true; // Default to use calculated values.
         y_autoscale_ = true; // Can be switch off with autoscale(false);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       } // xy_autoscale
 
       bool svg_2d_plot::xy_autoscale()
- {
+ { //! \return true if to autoscale both X and Y Axes.
         return y_autoscale_ && x_autoscale_;
       }
 
       svg_2d_plot& svg_2d_plot::y_major_interval(double inter)
- {
+ { //! Set major interval between ticks on Y axis.
         y_ticks_.major_interval_ = inter;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_major_interval()
- {
+ { //! \return major interval between ticks on Y axis.
         return y_ticks_.major_interval_;
       }
 
       svg_2d_plot& svg_2d_plot::y_major_tick_length(double length)
- {
+ { //! Set major tick length on Y axis.
         y_ticks_.major_tick_length_ = length;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_major_tick_length()
- {
+ { //! \return major tick length on Y axis.
         return y_ticks_.major_tick_length_;
       }
 
       svg_2d_plot& svg_2d_plot::y_minor_tick_length(double length)
- {
+ { //! Set minor tick length on Y axis.
         y_ticks_.minor_tick_length_ = length;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_minor_tick_length()
- {
+ { //! \return minor tick length on Y axis.
         return y_ticks_.minor_tick_length_;
       }
 
       svg_2d_plot& svg_2d_plot::y_num_minor_ticks(unsigned int num)
- {
+ { //! Set number of minor ticks on Y axis.
         y_ticks_.num_minor_ticks_ = num;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       unsigned int svg_2d_plot::y_num_minor_ticks()
- {
+ { //! \return number of minor ticks on Y axis.
         return y_ticks_.num_minor_ticks_;
       }
 
       svg_2d_plot& svg_2d_plot::y_label_axis(const std::string& str)
- { // Set label for Y-axis.
+ { //! Set text to label Y-axis.
         y_label_info_.text(str);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       std::string svg_2d_plot::y_label_axis()
- { // text to label Y axis.
+ { //! \return text to label Y axis.
         return y_label_info_.text();
       }
 
       svg_2d_plot& svg_2d_plot::y_major_tick_width(double width)
- {
+ { //! Set width of major ticks on Y axis.
         y_ticks_.major_tick_width_ = width;
         image.g(detail::PLOT_Y_MAJOR_TICKS).style().stroke_width(width);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_major_tick_width()
- {
+ { //! \return width of major ticks on Y axis.
         return y_ticks_.major_tick_width_;
       }
 
       svg_2d_plot& svg_2d_plot::y_minor_tick_width(double width)
- {
+ { //! Set width of minor ticks on Y axis.
         y_ticks_.minor_tick_width_ = width;
         image.g(detail::PLOT_Y_MINOR_TICKS).style().stroke_width(width);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_minor_tick_width()
- {
+ { //! \return width of minor ticks on Y axis.
         return y_ticks_.minor_tick_width_;
       }
 
- svg_2d_plot& svg_2d_plot::x_ticks_on_window_or_axis(int is)
- {
- x_ticks_.ticks_on_window_or_axis_ = is;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ svg_2d_plot& svg_2d_plot::x_ticks_on_window_or_axis(int side)
+ { //! Set if ticks on the plot window or on the X axis.
+ //! \param side -1 ticks downward.
+ //! \param side 0 no ticks.
+ //! \param side +1 ticks upward.
+ x_ticks_.ticks_on_window_or_axis_ = side;
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       int svg_2d_plot::x_ticks_on_window_or_axis()
- {
+ { //! \return if ticks on the plot window or on the X axis.
         return x_ticks_.ticks_on_window_or_axis_;
       }
 
- svg_2d_plot& svg_2d_plot::x_major_value_labels_side(int is)
- { // Label values side for major ticks left -1, (right +1 or none 0).
- x_ticks_.major_value_labels_side_ = is;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ 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 +1 labels upward.
+ */
+ x_ticks_.major_value_labels_side_ = side;
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
- int svg_2d_plot::x_major_value_labels_side()
- { // Label values side for major ticks left -1, (right +1 or none 0).
+ int svg_2d_plot::x_major_labels_side()
+ { //! \return Label values side for major ticks.
         return x_ticks_.major_value_labels_side_;
       }
 
- svg_2d_plot& svg_2d_plot::y_ticks_on_window_or_axis(int is)
- {
- y_ticks_.ticks_on_window_or_axis_ = is;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ svg_2d_plot& svg_2d_plot::y_ticks_on_window_or_axis(int cmd)
+ { /*! Set Y ticks on window or axis
+ \arg cmd -1 left of plot window,
+ \arg cmd 0 on Y axis.
+ \arg cmd +1 right of plot window.
+ */
+ y_ticks_.ticks_on_window_or_axis_ = cmd;
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       int svg_2d_plot::y_ticks_on_window_or_axis()
- {
+ { //! \return true if Y axis ticks wanted on the window (rather than on axis).\n
+ //! -1 left of plot window, 0 on Y axis, +1 right of plot window.
         return y_ticks_.ticks_on_window_or_axis_;
       }
 
- svg_2d_plot& svg_2d_plot::y_major_value_labels_side(int is)
- { // Label values side for major ticks left -1, (right +1 or none 0).
- y_ticks_.major_value_labels_side_ = is;
- return *this; // \return reference to svg_2d_plot to make chainable.
- }
-
- int svg_2d_plot::y_major_value_labels_side()
- { // Label values side for major ticks left -1, (right +1 or none 0).
- return y_ticks_.major_value_labels_side_;
- }
-
       svg_2d_plot& svg_2d_plot::y_ticks_left_on(bool cmd)
- {
+ { //! Set true if ticks on the Y axis are to be on left of axis line.
         y_ticks_.left_ticks_on_ = cmd;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_ticks_left_on()
- {
+ { //! \return true if ticks on the Y axis are to be on left of axis line.
         return y_ticks_.left_ticks_on_;
       }
 
       svg_2d_plot& svg_2d_plot::y_ticks_right_on(bool cmd)
- {
+ {//! Set true if ticks on the Y axis are to be on right of axis line.
         y_ticks_.right_ticks_on_ = cmd;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_ticks_right_on()
- {
+ { //! \return true if ticks on the Y axis are to be on right of axis line.
         return y_ticks_.right_ticks_on_;
       }
- // Only need y_ticks_left_on & y_ticks_right_on in 2D
-
+ // Only need y_ticks_left_on & y_ticks_right_on in 2D plots.
 
       svg_2d_plot& svg_2d_plot::y_major_grid_on(bool is)
- {
+ { //! Set true to include major grid lines.
         y_ticks_.major_grid_on_ = is;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_major_grid_on()
- {
+ { //! \return true to include major grid lines.
         return y_ticks_.major_grid_on_;
       }
 
-
       svg_2d_plot& svg_2d_plot::y_minor_grid_on(bool is)
- {
+ {//! Set true to include minor grid lines.
         y_ticks_.minor_grid_on_ = is;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       bool svg_2d_plot::y_minor_grid_on()
- {
+ {//! Set true to include minor grid lines.
         return y_ticks_.minor_grid_on_;
       }
 
       svg_2d_plot& svg_2d_plot::y_minor_grid_width(double width)
- {
+ { //! Set width of minor grid lines.
         y_ticks_.minor_grid_width_ = width;
         image.g(detail::PLOT_Y_MINOR_GRID).style().stroke_width(width);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_minor_grid_width()
- {
+ {//! \return width of minor grid lines.
         return y_ticks_.minor_grid_width_;
       }
 
       svg_2d_plot& svg_2d_plot::y_major_grid_width(double width)
- {
+ { //! Set width of major grid lines.
         y_ticks_.major_grid_width_ = width;
         image.g(detail::PLOT_Y_MAJOR_GRID).style().stroke_width(width);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       double svg_2d_plot::y_major_grid_width()
- {
+ {//! Set width of major grid lines.
         return y_ticks_.major_grid_width_;
       }
 
       svg_2d_plot& svg_2d_plot::y_label_font_size(unsigned int i)
- { // May be best to tie label & unit font sizes together?
+ { //! Set Y axis label text font size.
+ // May be best to tie label & unit font sizes together?
         x_axis_label_style_.font_size(i);
         // y_units_info_.font_size(i);
         return *this;
       }
 
       unsigned int svg_2d_plot::y_label_font_size()
- {
+ { //! \return Y axis label text font size.
         return y_axis_label_style_.font_size();
       }
 
       svg_2d_plot& svg_2d_plot::y_label_weight(std::string s)
- { // "bold" is only one that works so far.
+ { //! Set Y axis label text font weight (for example: "bold").
+ //! ("bold" is only one that works so far, and quality may be poor for some browsers).
         x_axis_label_style_.font_weight(s);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       const std::string& svg_2d_plot::y_label_weight()
- {
+ { //! \return Y axis label text font weight (for example: "bold").
         return x_axis_label_style_.font_weight();
       }
 
       svg_2d_plot& svg_2d_plot::y_label_font_family(const std::string& family)
- {
+ { //! Set Y axis label text font family (for example: "Lucida console sans").
         x_axis_label_style_.font_family(family);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
+ }
+
+ const std::string& svg_2d_plot::y_label_font_family()
+ { //! \return the font family for label on Y axis.
+ return y_axis_label_style_.font_family();
       }
 
       svg_2d_plot& svg_2d_plot::y_values_font_size(unsigned int i)
- {
+ { //! \return font size for Y axis values.
         y_values_style_.values_text_style_.font_size(i);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       unsigned int svg_2d_plot::y_values_font_size()
- {
+ {//! \return font size for Y axis values.
         return y_values_style_.values_text_style_.font_size();
       }
 
       svg_2d_plot& svg_2d_plot::y_values_font_family(const std::string& family)
- {
+ { //! Set font family for Y axis values.
         y_values_style_.values_text_style_.font_family(family);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       const std::string& svg_2d_plot::y_values_font_family()
- {
+ { //! \return font family for Y axis valuess.
         return y_values_style_.values_text_style_.font_family();
       }
 
       svg_2d_plot& svg_2d_plot::y_values_color(const svg_color& col)
- { // Function could set both fill (middle) and stroke (outside),
+ { //! Set color for Y axis values.
+ // Function could set both fill (middle) and stroke (outside),
         // but just setting fill if simplest,
         // but does not allow separate inside & outside colors.
         image.g(detail::PLOT_Y_POINT_VALUES).style().fill_color(col);
         //svg_2d_plot().image.g(PLOT_Y_POINT_VALUES).style().stroke_color(col);
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       svg_color svg_2d_plot::y_values_color()
- { // Function could get either fill and stroke,
+ { //! \return color for Y axis values.
+ // Function could get either fill and stroke,
         // return svg_2d_plot().image.g(PLOT_Y_POINT_VALUES).style().stroke_color();
         return image.g(detail::PLOT_Y_POINT_VALUES).style().fill_color();
       }
 
       svg_2d_plot& svg_2d_plot::y_values_rotation(rotate_style rotate)
- { // Degrees (0 to 360).
+ { //! Set rotation for value labels on Y axis ticks.
+ //! \see rotate_style
         y_values_style_.value_label_rotation_ = rotate;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       int svg_2d_plot::y_values_rotation()
- {
+ { //! \return rotation for value labels on Y axis.
         return y_values_style_.value_label_rotation_;
       }
 
       svg_2d_plot& svg_2d_plot::y_values_precision(int p)
- { // set iostream precision
+ { //! Set iostream precision for data points Y values.
         y_values_style_.value_precision_ = p;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       int svg_2d_plot::y_values_precision()
- {
+ { //! \return iostream precision for data points Y values.
         return y_values_style_.value_precision_;
       }
 
       svg_2d_plot& svg_2d_plot::y_values_ioflags(std::ios_base::fmtflags f)
- { // set iostream format flags
+ { //! Set iostream format flags for data point values.
         y_values_style_.value_ioflags_ = f;
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
       }
 
       std::ios_base::fmtflags svg_2d_plot::y_values_ioflags()
- {
+ { //! \return iostream format flags for data point values.
         return y_values_style_.value_ioflags_;
       }
 
@@ -2567,84 +2590,82 @@
     { // No file type suffix, so provide the default .svg.
       filename.append(".svg");
     }
-
     std::ofstream fout(filename.c_str());
     if(fout.fail())
     {
       throw std::runtime_error("Unable to open " + filename);
     }
     write(fout); // Using the ostream version.
- return *this; // \return reference to svg_2d_plot to make chainable.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
   }
 
- template <class T>
+ 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)
- { // Version converting to double.
- // Note that this version assumes that *ALL* the data value in the container is used.
+ { /*! 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
+ Version converting to double with \c boost_default_2d_convert.
+ */
     series.push_back(
       svg_2d_plot_series(
       boost::make_transform_iterator(container.begin(), detail::boost_default_2d_convert()),
       boost::make_transform_iterator(container.end(), detail::boost_default_2d_convert()),
       title)
     );
- return series[series.size()-1]; // Reference to data series just added.
+ return series[series.size()-1]; //! \return Reference to data series just added to make chainable.
   }
 
   template <class T, class U>
   svg_2d_plot_series& svg_2d_plot::plot(const T& container, const std::string& title /* = "" */, U functor /* = boost_default_2d_convert*/)
- { // Version with functor.
- // Note that this version assumes that *ALL* the data value in the container is used.
+ { /*! This version permits a custom functor (rather than default conversion to double).\n
+ Note that this version assumes that *ALL* the data value in the container is used.
+ */
     series.push_back(
       svg_2d_plot_series(
       boost::make_transform_iterator(container.begin(), functor),
       boost::make_transform_iterator(container.end(), functor),
       title)
     );
- return series[series.size()-1];// Reference to data series just added.
+ return series[series.size()-1]; //! \return Reference to data series just added to make chainable.
   }
 
   template <class T>
   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 to doubles).
- // Note that this version permits a *partial range*,
- // begin to end, of the container to be used.
+ { /*! 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
+ */
     series.push_back(
       svg_2d_plot_series(
       boost::make_transform_iterator(begin, detail::boost_default_convert()),
       boost::make_transform_iterator(end, detail::boost_default_convert()),
       title)
     );
- // For example: my_2d_plot.plot(my_data.begin(), my_data.end(), "My container");
- // my_2d_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.
+ return series[series.size() - 1]; //! \return Reference to data series just added to make chainable.
   } // plot(const T& begin, const T& end, const std::string& title = "")
 
   template <class T, class U>
   svg_2d_plot_series& svg_2d_plot::plot(const T& begin, const T& end, const std::string& title, U functor)
- { // Add a data series to the plot. (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.
+ { /* Add (part of) a container of a data series to the plot.
+ This version permits part of the container to be used, a partial range, using iterators begin to end.\n
+ Version with custom functor, rather than automatically converting to double).
+ */
     series.push_back(
       svg_2d_plot_series(
       boost::make_transform_iterator(container.begin(), functor),
       boost::make_transform_iterator(container.end(), functor),
       title)
     );
- return series[series.size() - 1]; // Reference to data series just added.
+ return series[series.size() - 1]; //! \return Reference to data series just added to make chainable.
   }
 
    svg_2d_plot& svg_2d_plot::write(std::ostream& s_out)
- { // Write the image to an ostream.
- update_image();
- image.write(s_out); // Use the ostream version of write.
- return *this; // \return reference to svg_2d_plot to make chainable.
- }
-
- const std::string& svg_2d_plot::y_label_font_family()
- {
- return y_axis_label_style_.font_family();
- }
+ { //! Write the SVG image to an ostream.
+ update_image();
+ image.write(s_out); // Use the ostream version of write.
+ return *this; //! \return reference to svg_2d_plot to make chainable.
+ }
 
 #if defined (BOOST_MSVC)
 # pragma warning(pop)

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -30,14 +30,14 @@
 #ifndef BOOST_SVG_SVG_BOXPLOT_HPP
 #define BOOST_SVG_SVG_BOXPLOT_HPP
 
-#include <boost/iterator/transform_iterator.hpp>
-
-#if defined (BOOST_MSVC)
+#if defined (_MSC_VER)
 # pragma warning(push)
 # pragma warning(disable: 4512) // assignment operator could not be generated.
 # pragma warning(disable: 4127) // conditional expression is constant.
 #endif
 
+#include <boost/iterator/transform_iterator.hpp>
+
 #include "svg.hpp"
 #include "svg_style.hpp"
 #include "detail/numeric_limits_handling.hpp"
@@ -84,7 +84,7 @@
   // somewhere = +5 // legend_top_left(x, y)
   //};
 
- class svg_boxplot; // Box Plot that can contain several boxplot data series.
+ class svg_boxplot; // Box Plot that can display several boxplot data series.
   class svg_boxplot_series; // Boxplot data series.
 
   // By convention, class data is suffixed by _ to permit function names to be used.
@@ -98,14 +98,14 @@
      */
   public: // TODO private?
     std::vector<double> series_; //!< Data series for the boxplot.
- double whisker_min_; //!<
- double whisker_max_;
+ double whisker_min_; //!< Minimum of whisker.
+ double whisker_max_; //!< Maximum of whisker.
     int quartile_definition_; //!< The definition of the quartile can be selected.
     double q1_; //!< 1st lower quartile.
     double median_; //!< 2nd middle quartile.
     double q3_; //!< 3rd upper quartile.
     std::vector<double> outliers_; //!< Any data values that are judged outliers.
- std::vector<double> extreme_outliers_;//!< Any data values that are judged extreme outliers.
+ std::vector<double> extreme_outliers_; //!< Any data values that are judged extreme outliers.
 
     // std::string title_;
     text_style series_style_;
@@ -129,22 +129,23 @@
     bool outlier_values_on_;
     bool extreme_outlier_values_on_;
 
- template <class T> // T is data container type.
+ template <class T> // \tparam T is STL data container type.
     svg_boxplot_series( // Constructor.
- T begin, T end, // Data container.
+ T begin, //!< Data container interator begin.
+ T end, //!< Data container interator end.
       const std::string& title, // Data series title.
- double bw,// box width
- svg_style bs, // box style
- svg_style ms, // median marker style
- svg_style as, // axis style
- double wl, // whisker length
- svg_style minws, // min whisker style
- svg_style maxws, // max whisker style
- plot_point_style os, // mild outlier style
- plot_point_style extos, // extreme outlier style
- int q_def, // Quartile definition H&F #
- value_style vs, // Style for optional display of data point values.
- text_style ss // series style (font etc) for box labels.
+ double bw, //!< box width
+ svg_style bs, //!< box style
+ svg_style ms, //!< median marker style
+ svg_style as, //!< axis style
+ double wl, //!< whisker length
+ svg_style minws, //!< min whisker style
+ svg_style maxws, //!< max whisker style
+ plot_point_style os, //!< mild outlier style
+ plot_point_style extos, //!< extreme outlier style
+ int q_def, //!< Quartile definition H&F #
+ value_style vs, //!< Style for optional display of data point values.
+ text_style ss //!< series style (font etc) for box labels.
      )
      // All other parameters can also be added using chainable functions.
      : //
@@ -162,9 +163,9 @@
       series_info_(0, 0, title, series_style_, center_align, horizontal),
       quartile_definition_(q_def), // Default is H&F recommendation.
       text_margin_(2.) // for axis label text, as a multiplier of the font size.
- { // Constructor.
- // std::vector copy is sorted and used for fast lookup of quartile values.
- //std::vector<double> series(begin, end); now a member
+ { //! Default Constructor.
+ //! std::vector copy is sorted and used for fast lookup of quartile values.
+ //! std::vector<double> series(begin, end); now a member
       series_.assign(begin, end);
 
       if(series_.empty())
@@ -173,7 +174,7 @@
         throw std::runtime_error(message.c_str());
       }
       if(series_.size() < 8)
- {
+ { //! Not enough data values to usefully calculate quartiles.
         throw std::runtime_error("Data series has < 8 values!");
       }
       std::sort(series_.begin(), series_.end());
@@ -247,18 +248,18 @@
     } // void calculate_quantiles()
 
     // Set member functions for the boxplot data series class.
- // (Note identically names functions are provided for the boxplot class).
+ // (Note identically named functions are provided for the boxplot class).
 
     svg_boxplot_series& title(const std::string& t); //! Set title for data series.
- const std::string title(); //! Get title for boxplot.
+ const std::string title(); //! \return title for boxplot.
     svg_boxplot_series& whisker_length(double l); //! Set length of whisker line.
- double whisker_length(); //! Get length of whisker line.
+ double whisker_length(); //! \return length of whisker line.
     svg_boxplot_series& box_width(double l); //! Set width of box.
- double box_width(); //! Get width of box.
+ double box_width(); //! \return width of box.
     svg_boxplot_series& min_whisker_color(const svg_color& col); //! Color of boxplot whisker.
- svg_color min_whisker_color(); //! Get color of boxplot whisker.
+ svg_color min_whisker_color(); //! \return color of boxplot whisker.
     svg_boxplot_series& min_whisker_width(double l); //! Set width of whisker line.
- double min_whisker_width(); //! Get width of whisker line.
+ double min_whisker_width(); //! \return width of whisker line.
     svg_boxplot_series& max_whisker_color(const svg_color& col); // Color of whisker.
     svg_color max_whisker_color(); //! Color of whisker.
     svg_boxplot_series& max_whisker_width(double l); //! Width of whisker line.
@@ -276,315 +277,319 @@
     svg_boxplot_series& axis_color(const svg_color& color); //! Color of vertical axis whisker line in box.
     svg_color axis_color(); //! Color of vertical axis whisker line in box.
     svg_boxplot_series& axis_width(double l); //! Width of vertical axis whisker line in box.
- double axis_width(); //! Get width of vertical axis whisker line in box.
+ double axis_width(); //! \return width of vertical axis whisker line in box.
 
- svg_style& box_style(); //! Get reference to style of box.
+ svg_style& box_style(); //! \return reference to style of box.
     svg_boxplot_series& box_style(svg_style& bs); //! Set reference to style of box.
 
- svg_style& median_style(); //! Get reference to style of median marker line.
+ svg_style& median_style(); //! \return reference to style of median marker line.
     svg_boxplot_series& median_style(svg_style& ms);
- plot_point_style& outlier_style(); //! Get reference to style of outlier marker line.
+ plot_point_style& outlier_style(); //! \return reference to style of outlier marker line.
     svg_boxplot_series& outlier_style(plot_point_style& os); //! Set reference to style of outlier marker line.
 
     svg_boxplot_series& outlier_color(const svg_color& color); //! Set color of outlier marker.
- svg_color outlier_color(); //! Get color of outlier marker.
+ svg_color outlier_color(); //! \return color of outlier marker.
     svg_boxplot_series& outlier_fill(const svg_color& color); //! Set fill color of outlier marker.
- svg_color outlier_fill(); //! Get fill color of outlier marker.
+ svg_color outlier_fill(); //! \return fill color of outlier marker.
     svg_boxplot_series& extreme_outlier_color(const svg_color& color); //! Set color of extreme outlier marker.
- svg_color extreme_outlier_color(); //! Get color of extreme outlier marker.
+ svg_color extreme_outlier_color(); //! \return color of extreme outlier marker.
     svg_boxplot_series& extreme_outlier_fill(const svg_color& color); //! Set color of extreme outlier marker.
- svg_color extreme_outlier_fill(); // Get color of extreme outlier marker.
+ svg_color extreme_outlier_fill(); //! \return color of extreme outlier marker.
     svg_boxplot_series& outlier_shape(point_shape shape); //! Set shape of outlier marker.
- point_shape outlier_shape(); //! Get shape of outlier marker.
+ point_shape outlier_shape(); //! \return shape of outlier marker.
     svg_boxplot_series& outlier_size(int size); //! Set size of outlier marker.
- int outlier_size(); //! Get size of outlier marker.
+ int outlier_size(); //! \return size of outlier marker.
     svg_boxplot_series& extreme_outlier_shape(point_shape shape); //! Shape of extreme outlier marker. !
- point_shape extreme_outlier_shape(); //! Get shape of extreme outlier marker.
+ point_shape extreme_outlier_shape(); //! \return shape of extreme outlier marker.
     svg_boxplot_series& extreme_outlier_size(int size); //! Size of extreme outlier marker.
- int extreme_outlier_size(); //! Get size of extreme outlier marker.
+ int extreme_outlier_size(); //! \return size of extreme outlier marker.
     // Not implemented yet - settings are boxplot wide.
     //svg_boxplot_series& outlier_values_on(bool cmd);// If values to be shown alongside outlier markers.
     //bool outlier_values_on(); // If values to be shown alongside outlier markers.
     //svg_boxplot_series& extreme_outlier_values_on(bool cmd); // If values to be shown alongside extreme outlier markers.
     //bool extreme_outlier_values_on(); // If values to be shown alongside extreme outlier markers.
     svg_boxplot_series& quartile_definition(int def); //! Set H&F quartile definition.
- int quartile_definition(); //! Get H&F quartile definition.
+ int quartile_definition(); //! \return H&F quartile definition.
 
   }; // struct svg_boxplot_series
 
   // svg_boxplot_series *Definitions* ready to go into separate *.ipp file.
 
   const std::string svg_boxplot_series::title()
- { //! Get title of a data series.
+ { //! \return title of a data series.
     return series_info_.text();
   }
 
   svg_boxplot_series& svg_boxplot_series::title(const std::string& t)
   { //! Set title of a data series.
     series_info_.text(t);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_boxplot_series& svg_boxplot_series::whisker_length(double width)
- { // Applies to BOTH min and max whisker.
+ { //! Set minimum and maximum whisker length.
+ // Applies to BOTH min and max whisker.
     whisker_length_ = width;
     return *this; // Chainable.
   }
 
   double svg_boxplot_series::whisker_length()
- { // Applies to BOTH min and max whisker.
+ { //! \return minimum and maximum whisker length.
+ // Applies to BOTH min and max whisker.
     return whisker_length_;
   }
 
   svg_boxplot_series& svg_boxplot_series::min_whisker_width(double width)
- { // Line width of min whisker.
+ { //! Set line width of minimum whisker.
     min_whisker_style_.stroke_width(width);
- return *this; // \return reference to svg_boxplot_series to make chainable..
+ return *this; //! \return reference to svg_boxplot_series to make chainable..
   }
 
   double svg_boxplot_series::min_whisker_width()
- { // Line width of min whisker.
+ { //! \return line width of minimum whisker.
     return min_whisker_style_.stroke_width();
   }
 
   svg_boxplot_series& svg_boxplot_series::min_whisker_color(const svg_color& color)
- { // Color of min whisker.
+ { //! Set color of minimum whisker.
     min_whisker_style_.stroke_color(color);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
   svg_color svg_boxplot_series::min_whisker_color()
- { // Color of min whisker.
+ { //! \return color of minimum whisker.
     return min_whisker_style_.stroke_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::max_whisker_width(double width)
- {
+ { //! \return line width of maximum whisker.
     max_whisker_style_.stroke_width(width);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   double svg_boxplot_series::max_whisker_width()
- { // width of the box, not the margin.
+ { //! \return line width of maximum whisker.
     return max_whisker_style_.stroke_width();
   }
 
   svg_boxplot_series& svg_boxplot_series::max_whisker_color(const svg_color& color)
- { // Color of whisker.
+ { //! Set color of minimum whisker.
     max_whisker_style_.stroke_color(color);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::max_whisker_color()
- { // Color of whisker.
+ { //! \return color of maximum whisker.
     return max_whisker_style_.stroke_color();
   }
 
   double svg_boxplot_series::box_width()
- { // width of the box, not the margin.
+ { //! \return width of the box.
+ // width of the box, not the margin.
     return box_width_;
   }
 
   svg_boxplot_series& svg_boxplot_series::box_width(double l)
- { // width of the box, not the margin.
+ { //! Set width of the box.
+ // width of the box, not the margin.
     box_width_ = l;
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_style& svg_boxplot_series::box_style()
- {
+ { //! \return box style.
     return box_style_;
   }
 
   svg_boxplot_series& svg_boxplot_series::box_style(svg_style& bs)
- {
+ { //! Set entire box style.
     box_style_ = bs;
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_style& svg_boxplot_series::median_style()
- {
+ { //! \return median style.
     return median_style_;
   }
 
   svg_boxplot_series& svg_boxplot_series::median_style(svg_style& ms)
- {
+ { //! Set entire median style.
     median_style_ = ms;
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_boxplot_series& svg_boxplot_series::outlier_style(plot_point_style& os)
- {
+ { //! Set entire outlier style.
     mild_outlier_ = os;
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   plot_point_style& svg_boxplot_series::outlier_style()
- {
+ { //! \return outlier_style.
     return mild_outlier_;
   }
 
   svg_boxplot_series& svg_boxplot_series::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_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::box_fill()
- { // Color of box fill, not border.
+ { //! \return color of box fill.
     return box_style_.fill_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::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_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::box_border()
- { // Color of box fill, not border.
+ { //! \return color of box border.
     return box_style_.stroke_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::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_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::median_color()
- { // Color of median line in box.
+ { //! \return color of median line in box.
     return median_style_.stroke_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::median_width(double width)
- { // Applies to BOTH min and max whisker.
+ { //! Set width of median line in box.
     median_style_.stroke_width(width);
- return *this; // \return reference to svg_boxplot_series to make chainable..
+ return *this; //! \return reference to svg_boxplot_series to make chainable..
   }
 
   double svg_boxplot_series::median_width()
- { // Applies to BOTH min and max whisker.
+ { //! \return width of median line in box.
     return median_style_.stroke_width();
   }
 
   svg_boxplot_series& svg_boxplot_series::axis_color(const svg_color& color)
- { // Color of axis line in box.
+ { //! Set color of axis line.
     axis_style_.stroke_color(color);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::axis_color()
- { // Color of axis line in box.
+ { //! \return Color of axis line.
     return axis_style_.stroke_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::axis_width(double width)
- { // Applies to BOTH min and max whisker.
+ { //! Set width of axis line.
     axis_style_.stroke_width(width);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   double svg_boxplot_series::axis_width()
- { // Applies to BOTH min and max whisker.
+ { //! \return width of axis line.
     return axis_style_.stroke_width();
   }
 
   svg_boxplot_series& svg_boxplot_series::outlier_color(const svg_color& color)
- { // Color of axis line in box.
+ { //! Set color of outlier line in box.
     mild_outlier_.stroke_color(color);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::outlier_color()
- { // Color of axis line in box.
+ { //! \return color of outlier line in box.
     return mild_outlier_.stroke_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::outlier_fill(const svg_color& color)
- { // Fill color of axis line in box.
+ { //! Set fill color of mild outlier line in box.
     mild_outlier_.fill_color(color);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::outlier_fill()
- { // Fill color of axis line in box.
+ { //! \return fill color of mild outlier line in box.
     return mild_outlier_.fill_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::extreme_outlier_color(const svg_color& color)
- { // Color of axis line in box.
+ { //! Set fill color of extreme outlier line in box.
     ext_outlier_.stroke_color(color);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::extreme_outlier_color()
- { // Color of axis line in box.
+ { //! \return fill color of extreme outlier line in box.
     return ext_outlier_.stroke_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::extreme_outlier_fill(const svg_color& color)
- { // Color of axis line in box.
+ { //! Set fill color of extreme outlier line in box.
     ext_outlier_.fill_color(color);
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   svg_color svg_boxplot_series::extreme_outlier_fill()
- { // Color of axis line in box.
+ { //! \return fill color of extreme outlier line in box.
     return ext_outlier_.fill_color();
   }
 
   svg_boxplot_series& svg_boxplot_series::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_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   point_shape svg_boxplot_series::outlier_shape()
- { // Color of outlier marker.
+ { //! \return shape of outlier marker.
     return mild_outlier_.shape_;
   }
 
   svg_boxplot_series& svg_boxplot_series::outlier_size(int size)
- { // Size of outlier marker.
+ { //! Set size of outlier marker.
     mild_outlier_.size_ = size;
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   int svg_boxplot_series::outlier_size()
- { // Size of extreme outlier marker.
+ { //! \return Size of outlier marker.
     return mild_outlier_.size_;
   }
 
   svg_boxplot_series& svg_boxplot_series::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_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   point_shape svg_boxplot_series::extreme_outlier_shape()
- { // Shape of extreme outlier marker.
+ { //! \return shape of extreme outlier marker.
     return ext_outlier_.shape_ ;
   }
 
   svg_boxplot_series& svg_boxplot_series::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_series to make chainable..
+ return *this; //! \return reference to svg_boxplot_series to make chainable..
   }
 
   int svg_boxplot_series::extreme_outlier_size()
- { // Size of extreme outlier marker.
+ { //! \return Size of extreme outlier marker.
     return ext_outlier_.size_;
   }
 
   svg_boxplot_series& svg_boxplot_series::quartile_definition(int def)
- { // Choice of H&F quartile definition.
+ { //! set Choice of H&F quartile definition.
     quartile_definition_ = def;
- return *this; // \return reference to svg_boxplot_series to make chainable.
+ return *this; //! \return reference to svg_boxplot_series to make chainable.
   }
 
   int svg_boxplot_series::quartile_definition()
- { // Choice of H&F quartile definition.
+ { //! \return Choice of H&F quartile definition.
     return quartile_definition_;
   }
 
@@ -634,11 +639,11 @@
   double y_scale_; //! SVG coordinates origin is at top left,
   double y_shift_; //! and y coordinates increase DOWN the page!
 
- double x_axis_position_;
- double y_axis_position_;
+ double x_axis_position_; //! < Intersection of X axis, or not.
+ double y_axis_position_; //! < Intersection of Y axis, or not.
 
- // Plot window.
- double plot_left_; // calculate_plot_window() sets these values.
+ // Plot window (calculate_plot_window() sets these values).
+ double plot_left_;
   double plot_top_;
   double plot_right_;
   double plot_bottom_;
@@ -798,7 +803,7 @@
   max_whisker_style_(cyan, black, 1),
   mild_outlier_(brown, blank, 5, round),
   ext_outlier_(red, blank, 5, cone)
- {
+ { //! Default constructor providing all the default colors, style etc,
     using std::cout;
     using std::endl;
     image_size(500, 350);
@@ -855,12 +860,13 @@
   } // boxplot constructor.
 
   // Clear Functions.
- // When writing to multiple documents, the contents of the plot
- // may change significantly between. Rather than figuring out what
- // has and has not changed, just erase the contents of the
- // legend, title... in the document and start over.
   void clear_all()
- { // TODO?
+ { /*! Clear all the previous information and rebuild the SVG image.
+ When writing to multiple documents, the contents of the plot
+ may change significantly between. Rather than figuring out what
+ has and has not changed, just erase the contents of the
+ legend, title... in the document and start over.
+ */
     //clear_legend();
     //clear_background();
     //clear_x_axis();
@@ -872,17 +878,17 @@
   }
 
   void transform_x(double& x)
- { // X coordinate from Cartesian to SVG.
+ { //! Transform X coordinate from Cartesian to SVG.
     x = x * x_scale_ + x_shift_;
   }
 
   void transform_y(double& y)
- {// Y coordinate from Cartesian to SVG.
+ { //! Transform Y coordinate from Cartesian to SVG.
     y = y * y_scale_ + y_shift_;
   }
 
   void calculate_plot_window()
- {
+ { //! Calculate the position of the plot window.
     // Start by assuming we can use all the svg image,
     // but reduce by the width of any image border.
     plot_left_ = 0. + image_border_.width_; // Top left of image.
@@ -1149,7 +1155,7 @@
   } // void calculate_plot_window()
 
   void draw_title()
- { // Update title_info_ with position.
+ { //! Update title_info_ with position.
     title_info_.x(image.x_size() / 2.); // Center of image.
     /*! \verbatim
       Assumes align = center_align.
@@ -1164,7 +1170,7 @@
   } // void draw_title()
 
   void draw_x_axis()
- { // Draw the horizontal X-axis line.
+ { //! Draw the horizontal X-axis line.
     if (x_axis_.axis_line_on_)
     { // Want a X-axis line.
       if (x_axis_position_ == top)
@@ -1194,7 +1200,7 @@
   } // void draw_x_axis()
 
   void draw_y_axis()
- {
+ { //! Draw the vertical Y-axis line.
     if (y_axis_.axis_line_on_)
     { // Want a vertical Y-axis line, for boxplot only ever left or right.
       if (y_axis_position_ == left)
@@ -1242,7 +1248,7 @@
   } // void draw_y_axis()
 
   void draw_x_major_tick(double i, path_element& tick_path, text_element& series_info)
- { // Draw X axis major tick, and optional boxplot label.
+ { //! Draw X axis major tick, and optional boxplot label.
     double x_left = i;
     double y_top = plot_bottom_; // Top of tick.
     if (x_ticks_.up_ticks_on_)
@@ -1265,7 +1271,7 @@
   } // void draw_x_major_tick
 
    void draw_y_major_tick(double value, path_element& tick_path, path_element& grid_path)
- { // Draw a Y axis major tick, tick value labels & horizontal grid.
+ { //! Draw a Y axis major tick, tick value labels & horizontal grid.
     double y(value); // for tick and/or grid.
     transform_y(y); // Cartesian to SVG coordinates.
     if((y < plot_top_ - 0.01) || (y > plot_bottom_ + 0.01))
@@ -1474,7 +1480,7 @@
   } // draw_y_major_tick
 
   void draw_y_minor_tick(double value, path_element& tick_path, path_element& grid_path)
- { // Draw a Y-axis minor tick and optional grid.
+ { //! Draw a Y-axis minor tick and optional grid.
     double x_left(0.); // Start on vertical Y axis line.
     double x_right(image.y_size()); // right edge of image.
     double y(value); // Tick position and value label,
@@ -1543,7 +1549,7 @@
   } // void draw_y_minor_tick
 
   void draw_x_label()
- { // Draw an axis label (and optional units) for example "length (km)".
+ { //! Draw an axis label (and optional units) for example "length (km)".
     // X-label color is set in constructor thus:
     // image.g(detail::PLOT_X_LABEL).style().stroke_color(black);
     // and changed using x_label_color(color);
@@ -1579,7 +1585,7 @@
   } // void draw_x_label()
 
   void draw_y_label()
- { // Draw vertical y_axis label, and optional y units.
+ { //! Draw vertical y_axis label, and optional y units.
     // Y-label color is set in constructor thus:
     // image.g(boxplot::Y_LABEL).style().fill_color(black);
     // and changed using y_label_color(color);
@@ -1617,7 +1623,7 @@
   void draw_box(double q1, double q3, // Quartiles
   double x, double width,
   const svg_style& box_styl)
- {
+ { //! Draw the box border and any fill.
     g_element& g_ptr = image.g(boxplot::MEDIAN).g();
 
     g_ptr.style().stroke_color(box_styl.stroke_color())
@@ -1632,8 +1638,8 @@
 
   void draw_median(double median, double x_offset, double box_width,
     const svg_style& median_style, const value_style& values_style)
- { // Draw the median of the data series line within the box,
- // and optionally the median value.
+ { //! Draw the median of the data series line within the box,
+ //! and optionally the median value.
     double median_y = median;
     transform_y(median_y); // SVG coordinate of median line.
     g_element& g_ptr = image.g(boxplot::MEDIAN).g();
@@ -1658,7 +1664,8 @@
   void draw_whiskers(double min, double max, double length, double x,
     const svg_style& min_whisker, const svg_style& max_whisker,
     const svg_style& axis_whisker)
- { // Set up document structure for whiskers:
+ { //! Draw the whiskers.
+ // Set up document structure for whiskers:
     g_element& g_whisk_ptr = image.g(boxplot::WHISKER).g();
 
     // Set colors for min and max whiskers.
@@ -1697,7 +1704,8 @@
     const std::vector<double>& extreme_outliers,
     const plot_point_style& mild_style, const plot_point_style& extreme_style,
     const value_style& values_style)
- { // Draw marker points for any mild and/or extreme outliers.
+ { //! Draw any outliers, both mild and extreme.
+ // Draw marker points for any mild and/or extreme outliers.
     g_element& g_mild_ptr = image.g(boxplot::MILD_OUTLIERS).g();
     g_mild_ptr.style().fill_color(mild_style.fill_color_)
       .stroke_color(mild_style.stroke_color_);
@@ -1748,11 +1756,10 @@
   } // void draw_outliers
 
   void draw_boxplot(svg_boxplot_series& series, double x_offset)
- { // Draw a whole boxplot, box, median line, axis whiskers, and outliers.
+ { //! Draw a whole boxplot, box, median line, axis whiskers, and outliers.
 
     // const here causes trouble
- // Need to calculate quartiles here to permit individual plot quartile_definition.
-
+ // Need to calculate quartiles here to permit individual plot quartile_definition.
     series.calculate_quantiles();
 
     draw_whiskers(series.whisker_min_, series.whisker_max_,
@@ -1772,7 +1779,7 @@
   } // void draw_boxplot
 
   void update_image()
- {
+ { //! Update the entire SVG image.
     clear_all();
 
     // Draw image background & border, if any.
@@ -1815,11 +1822,12 @@
     }
   } // void update_image()
 
- svg& get_svg()
- {
- update_image();
- return image;
- }
+ // Seems not to be used?
+ //svg& get_svg()
+ //{
+ // update_image();
+ // return image;
+ //}
 
   // svg_boxplot& load_stylesheet(const std::string& file); // Removed pending reimplementation of stylesheets.
 
@@ -1952,24 +1960,24 @@
 
   // Use overloaded functions to provide access to boxplot's non-static members values.
   // Version with NO default values.
- template <class T>
- svg_boxplot_series& plot(const T& container, // Add a data series to boxplot.
- const std::string& title,
- double bw,
- svg_style bs, // box_style_, // box width & style
- svg_style ms, // median marker style
- svg_style as, // axis style
- double wl, // whisker length
- svg_style minws, // min whisker style
- svg_style maxws, // max whisker style
- plot_point_style os, // mild outlier style
- plot_point_style extos, // extreme outlier style
- int q_def, // Quartile definition H&F #
- value_style vs, // style for data values.
- text_style ss // series style - for series title.
+ template <class T> //! \tparam T data series value type (must be convertible to double).
+ svg_boxplot_series& plot(const T& container, //!< STL Container holding data series to boxplot.
+ const std::string& title, //!< Title of data series.
+ double bw, //!< Box width.
+ svg_style bs, //!< box_style.
+ svg_style ms, //!< median marker style.
+ svg_style as, //!< axis style.
+ double wl, //!< whisker length.
+ svg_style minws, //!< min whisker style.
+ svg_style maxws, //<! max whisker style.
+ plot_point_style os, //!< mild outlier style.
+ plot_point_style extos, //!< extreme outlier style.
+ int q_def, //!< Quartile definition H&F \#.
+ value_style vs, //!< style for data values.
+ text_style ss //!< series style - for series title.
     )
- {
- series.push_back( // Add a new data series for a boxplot.
+ { //!< Add a data series (the whole container) to boxplot.
+ series.push_back(
       svg_boxplot_series(
         boost::make_transform_iterator(container.begin(), detail::boost_default_convert()),
         boost::make_transform_iterator(container.end(), detail::boost_default_convert()),
@@ -1982,11 +1990,10 @@
       return series[series.size() - 1]; // Number of data series added so far.
   } // svg_boxplot_series& plot(const T& container, const std::string& title )
 
- // Version copying box'n'whiskers parameters from parent boxplot.
- template <class T>
- svg_boxplot_series& plot(const T& container, // Add a data series to boxplot.
- const std::string& title = "") // Warning given if this default is used.
- {
+ template <class T> //! \tparam T data series value type (must be convertible to double).
+ svg_boxplot_series& plot(const T& container, //! Add a data series to boxplot.
+ const std::string& title = "") //! Warning given if this default is used.
+ { //! plot version copying box'n'whiskers parameters from parent boxplot.
     if (title.size() == 0)
     {
       std::cout << "Data series has no title!" << std::endl;
@@ -2015,7 +2022,7 @@
   //}
 
   svg_boxplot& svg_boxplot::write(const std::string& file)
- {
+ { //! Write SVG image to file.
     std::string filename(file); // Copy to avoid problems with const if need to append.
     if (filename.find(".svg") == std::string::npos)
     { // No file type suffix, so provide the default .svg.
@@ -2034,122 +2041,130 @@
   } // svg_boxplot& write(const std::string& file)
 
   svg_boxplot& svg_boxplot::write(std::ostream& s_out)
- { // ostream version used by filename version.
+ { //! Write SVG image to ostream.
+ // This ostream version used by filename version.
     update_image();
     image.write(s_out);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::title_on(bool cmd)
- {
+ { //! Set true to show whole boxplot title.
     title_on_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_label_on(bool cmd)
- { // If Y axis name or label, for example: "length of thing".
+ { //! Set true if X axis name or label, for example: "length of thing".
       x_axis_.label_on_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_label_on(bool cmd)
- {
+ { //! Set true if Y axis name or label, for example: "width of thing".
       y_axis_.label_on_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_major_labels_on(int cmd)
- { //< 0 means to left or down (default), 0 (false) means none, > 0 means to right (or top).
+ { //! Set direction of Y major labels.
+ //! < 0 means to left (default), 0 (false) means none, > 0 means to right.
     y_ticks_.major_value_labels_side_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_major_labels_on(int cmd)
- { //< 0 means to left or down (default), 0 (false) means none, > 0 means to right (or top).
+ { //! Set direction of X major labels.
+ //!< 0 means to down (default), 0 (false) means none, > 0 means to top.
     x_ticks_.major_value_labels_side_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::median_values_on(bool cmd)
- {
+ { //! Set true to show median value(s).
     median_values_on_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::outlier_values_on(bool cmd)
- {
+ { //! Set true to show mild outlier values.
     outlier_values_on_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
   svg_boxplot& svg_boxplot::extreme_outlier_values_on(bool cmd)
- {
+ {//! Set true to show extreme outlier values.
     extreme_outlier_values_on_ = cmd;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   bool svg_boxplot::median_values_on()
- {
+ { //! \return true if to show median value(s).
     return outlier_values_on_;
   }
 
   bool svg_boxplot::outlier_values_on()
- {
+ { //! \return true if to show mild outlier value(s).
     return outlier_values_on_;
   }
+
   bool svg_boxplot::extreme_outlier_values_on()
- {
+ { //! \return true if to show extreme outlier value(s).
     return extreme_outlier_values_on_;
   }
 
   svg_boxplot& svg_boxplot::y_major_tick_color(const svg_color& col)
- {
+ { //! Set Y major ticks color.
     image.g(boxplot::Y_MAJOR_TICKS).style().stroke_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_tick_color(const svg_color& col)
- {
+ { //! \return Y major ticks color.
     image.g(boxplot::X_TICKS).style().stroke_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_minor_tick_color(const svg_color& col)
- {
+ { //! Set Y minor ticks color.
     image.g(detail::PLOT_Y_MINOR_TICKS).style().stroke_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::title_color(const svg_color& col)
- {
+ { //! Set boxplot title color.
     image.g(boxplot::PLOT_TITLE).style().stroke_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::background_color(const svg_color& col)
- { // "imageBackground"
+ { //! Set SVG image background color.
+ // "imageBackground"
     image.g(boxplot::PLOT_BACKGROUND).style().fill_color(col);
     return *this;
   }
+
   svg_boxplot& svg_boxplot::background_border_color(const svg_color& col)
- { // "imageBackground"
+ { //! Set SVG image background border color.
     image.g(boxplot::PLOT_BACKGROUND).style().stroke_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::plot_background_color(const svg_color& col)
- { // Plot Window "plotBackground"
+ { //! Set plot window background color.
+ // Plot Window "plotBackground"
     image.g(boxplot::PLOT_WINDOW_BACKGROUND).style().fill_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::plot_border_color(const svg_color& col)
- { // Plot window "plotBackground"
+ { //! Set plot window border color.
+ // Plot window "plotBackground"
     image.g(boxplot::PLOT_WINDOW_BACKGROUND).style().stroke_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_range(double min_y, double max_y)
- {
+ { //! Set range of Y values for Y axis (do nto use autoscale).
     if (!boost::math::isfinite(min_y))
     {
       throw std::runtime_error("Y range: min not finite!");
@@ -2169,7 +2184,7 @@
     y_axis_.min_ = min_y;
     y_axis_.max_ = max_y;
     y_autoscale_ = false;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   } // svg_boxplot& y_range(double y1, double y2)
 
   std::pair<double, double> svg_boxplot::y_range()
@@ -2183,36 +2198,36 @@
   svg_boxplot& svg_boxplot::y_label(const std::string& str)
   {
     y_label_info_.text(str);
- return *this; // \return reference to svg_boxplot to make chainable.
+ 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);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_label_font_size(unsigned int size)
   {
      y_axis_label_style_.font_size(size);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_label_color(const svg_color& col)
   {
     image.g(boxplot::Y_LABEL).style().fill_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::title(const std::string& str)
   {
     title_info_.text(str);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
   svg_boxplot& svg_boxplot::title_size(unsigned int size)
   {
     y_label_info_.style().font_size(size);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_axis_position(int pos)
@@ -2223,7 +2238,7 @@
       (that is if Y-axis includes zero).
      */
      x_axis_position_ = pos; // top or bottom
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::x_axis_position()
@@ -2234,7 +2249,7 @@
   svg_boxplot& svg_boxplot::y_axis_position(int pos)
   { // Position of the vertical Y-axis line (on the border).
      y_axis_position_ = pos; // left or right
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::y_axis_position()
@@ -2245,18 +2260,18 @@
   svg_boxplot& svg_boxplot::x_label(const std::string& str)
   {
     x_label_info_.text(str);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
   svg_boxplot& svg_boxplot::x_label_size(unsigned int size)
   {
     x_label_info_.style().font_size(size);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_label_color(const svg_color& col)
   {
     image.g(boxplot::X_LABEL).style().fill_color(col);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_major_interval(double inter)
@@ -2266,43 +2281,43 @@
   } svg_boxplot& svg_boxplot::x_tick_length(unsigned int length)
   {
     x_ticks_.major_tick_length_ = length;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_major_tick_length(unsigned int length)
   {
     y_ticks_.major_tick_length_ = length;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_minor_tick_length(unsigned int length)
   {
     y_ticks_.minor_tick_length_ = length;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_num_minor_ticks(unsigned int num)
   {
     y_ticks_.num_minor_ticks_ = num;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::x_tick_width(unsigned int width)
   {
     image.g(boxplot::X_TICKS).style().stroke_width(width);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_major_tick_width(unsigned int width)
   {
     image.g(boxplot::Y_MAJOR_TICKS).style().stroke_width(width);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_minor_tick_width(unsigned int width)
   {
     image.g(boxplot::Y_MINOR_TICKS).style().stroke_width(width);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   unsigned int svg_boxplot::image_x_size()
@@ -2388,7 +2403,7 @@
   svg_boxplot& svg_boxplot::whisker_length(double width)
   {
     whisker_length_ = width;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::whisker_length()
@@ -2399,7 +2414,7 @@
  svg_boxplot& svg_boxplot::box_width(double width)
   { // Width of the box, not the border.
     box_width_ = width;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::box_width()
@@ -2410,7 +2425,7 @@
   svg_boxplot& svg_boxplot::box_fill(const svg_color& color)
   { // Color of box fill, not border.
     box_style_.fill_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::box_fill()
@@ -2421,7 +2436,7 @@
   svg_boxplot& svg_boxplot::box_border(const svg_color& color)
   { // Color of box fill, not border.
     box_style_.stroke_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::box_border()
@@ -2432,7 +2447,7 @@
   svg_boxplot& svg_boxplot::median_color(const svg_color& color)
   { // Color of median line in box.
     median_style_.stroke_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::median_color()
@@ -2443,7 +2458,7 @@
   svg_boxplot& svg_boxplot::median_width(double width)
   { // Width of the box, not the border.
     median_style_.stroke_width(width);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::median_width()
@@ -2454,7 +2469,7 @@
   svg_boxplot& svg_boxplot::axis_color(const svg_color& color)
   { // Color of vertical whisker axis line in box.
     axis_style_.stroke_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::axis_color()
@@ -2465,7 +2480,7 @@
   svg_boxplot& svg_boxplot::axis_width(double width)
   { // Width of the box, not the border.
     median_style_.stroke_width(width);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   double svg_boxplot::axis_width()
@@ -2476,7 +2491,7 @@
   svg_boxplot& svg_boxplot::outlier_color(const svg_color& color)
   { // Color of axis line in box.
     mild_outlier_.stroke_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::outlier_color()
@@ -2487,7 +2502,7 @@
   svg_boxplot& svg_boxplot::outlier_fill(const svg_color& color)
   { // Color of axis line in box.
     mild_outlier_.fill_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::outlier_fill()
@@ -2498,7 +2513,7 @@
   svg_boxplot& svg_boxplot::extreme_outlier_color(const svg_color& color)
   { // Color of axis line in box.
     ext_outlier_.stroke_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::extreme_outlier_color()
@@ -2509,7 +2524,7 @@
   svg_boxplot& svg_boxplot::extreme_outlier_fill(const svg_color& color)
   { // Color of axis line in box.
     ext_outlier_.fill_color(color);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_color svg_boxplot::extreme_outlier_fill()
@@ -2520,7 +2535,7 @@
   svg_boxplot& svg_boxplot::outlier_shape(point_shape shape)
   { // Shape of outlier marker.
     mild_outlier_.shape_ = shape;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   point_shape svg_boxplot::outlier_shape()
@@ -2531,7 +2546,7 @@
   svg_boxplot& svg_boxplot::extreme_outlier_shape(point_shape shape)
   { // Shape of extreme outlier marker.
     ext_outlier_.shape_ = shape;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   point_shape svg_boxplot::extreme_outlier_shape()
@@ -2542,7 +2557,7 @@
   svg_boxplot& svg_boxplot::outlier_size(int size)
   { // Size of outlier marker.
     mild_outlier_.size(size);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   int svg_boxplot::outlier_size()
@@ -2554,7 +2569,7 @@
   svg_boxplot& svg_boxplot::extreme_outlier_size(int size)
   { // Size of extreme outlier marker.
     ext_outlier_.size(size);
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   int svg_boxplot::extreme_outlier_size()
@@ -2565,7 +2580,7 @@
   svg_boxplot& svg_boxplot::quartile_definition(int def)
   { //! Set size of extreme outlier marker.
     quartile_definition_ = def;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   int svg_boxplot::quartile_definition()
@@ -2581,7 +2596,7 @@
   svg_boxplot& svg_boxplot::y_autoscale(bool b)
   {
     y_autoscale_ = b;
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   }
 
   svg_boxplot& svg_boxplot::y_autoscale(std::pair<double, double> p)
@@ -2591,7 +2606,7 @@
     autoscale_check_limits_,
     y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
     y_autoscale_ = true; // Change (from default false) to use calculated values.
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   } // autoscale(pair<double, double> p)
 
   svg_boxplot& svg_boxplot::y_autoscale(double first, double second)
@@ -2601,7 +2616,7 @@
     autoscale_check_limits_,
     y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
     y_autoscale_ = true; // Change (from default false) to use calculated values.
- return *this; // \return reference to svg_boxplot to make chainable.
+ 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> ...
@@ -2612,7 +2627,7 @@
     autoscale_check_limits_,
     y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
     y_autoscale_ = true; // Change (from default false) to use calculated values.
- return *this; // \return reference to svg_boxplot to make chainable.
+ 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 ...
@@ -2623,7 +2638,7 @@
     autoscale_check_limits_,
     y_include_zero_, y_tight_, y_min_ticks_, y_steps_);
     y_autoscale_ = true; // Change (from default false) to use calculated values.
- return *this; // \return reference to svg_boxplot to make chainable.
+ return *this; //! \return reference to svg_boxplot to make chainable.
   } // y_autoscale(const T& container)
 
 

Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp 2009-02-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -156,17 +156,17 @@
 
   // Member Functions definitions.
   svg_color svg_style::fill_color() const
- { //! Get SVG fill color.
+ { //! \return SVG fill color.
     return svg_color(fill_);
   }
 
   svg_color svg_style::stroke_color() const
- { //! Get SVG stroke color.
+ { //! \return SVG stroke color.
     return svg_color(stroke_);
   }
 
   double svg_style::stroke_width() const
- { //! Get SVG stroke width.
+ { //! \return SVG stroke width.
     return width_;
   }
 
@@ -354,7 +354,7 @@
   }
 
   int text_style::font_size() const
- { //! Get font size (svg units, usually pixels).
+ { //! \return font size (svg units, usually pixels).
     return font_size_;
   }
 
@@ -371,7 +371,7 @@
   }
 
   const std::string& text_style::font_family() const
- { //! Get font family as string.
+ { //! \return font family as string.
     return font_family_;
   }
 
@@ -392,7 +392,7 @@
   }
 
   const std::string& text_style::font_style() const
- { //! Get font style.
+ { //! \return font style.
     /*! \details font-style: normal | bold | italic | oblique.
        Example "normal" is default.
      */
@@ -437,7 +437,7 @@
   }
 
   const std::string& text_style::font_decoration() const
- { //! Get font decoration.
+ { //! \return font decoration.
     return decoration_;
   }
 
@@ -703,7 +703,7 @@
   }
 
   svg_color& plot_point_style::fill_color()
- { //! Get fill color of shape or symbol used to mark data value plot point(s).
+ { //! \return fill color of shape or symbol used to mark data value plot point(s).
     return fill_color_;
   }
 
@@ -714,7 +714,7 @@
   }
 
   svg_color& plot_point_style::stroke_color()
- { //! Get stroke color of shape or symbol used to mark data value plot point(s).
+ { //! \return stroke color of shape or symbol used to mark data value plot point(s).
     return stroke_color_;
   }
 
@@ -725,7 +725,7 @@
   }
 
   point_shape plot_point_style::shape()
- { //! Get shape used to mark data value plot point(s).
+ { //! \return shape used to mark data value plot point(s).
     return shape_;
   }
 
@@ -816,7 +816,7 @@
   }
 
   double plot_line_style::width()
- { //! Get width of line(s) joining data points.
+ { //! \return width of line(s) joining data points.
     return width_;
   }
 
@@ -827,7 +827,7 @@
   }
 
   svg_color& plot_line_style::color()
- { //! Get color of line(s) joining data points.
+ { //! \return color of line(s) joining data points.
     return stroke_color_;
   }
 
@@ -838,7 +838,7 @@
   }
 
   svg_color& plot_line_style::area_fill()
- { //! Get if area under line joining data points is to be color filled.
+ { //! \return if area under line joining data points is to be color filled.
     return area_fill_;
   }
 
@@ -978,7 +978,7 @@
   }
 
   svg_color axis_line_style::color()
- { //! Get color of an axis line.
+ { //! \return color of an axis line.
     return color_;
   }
 
@@ -989,7 +989,7 @@
   }
 
   double axis_line_style::width()
- { //! Get width of an axis line.
+ { //! \return width of an axis line.
     return axis_width_;
   }
 
@@ -1567,7 +1567,7 @@
   {
     s.erase(j+2, 1); // remove "0", leave "-dd"
   }
- return s; // \return length of trimmed string (perhaps unchanged).
+ return s; //! \return length of trimmed string (perhaps unchanged).
 } // const std::string strip(double d)
 
  static const double wh = 0.7; //!< font text width/height ratio.

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -1,11 +1,15 @@
-// 2d_area_fill.cpp
+/*! \file 2d_area_fill.cpp
+ \brief Demo of area fill below a curve.
+ \date 2007
+ \author Jacob Voytko
+*/
+
 
 // Copyright Jacob Voytko 2007
 // Copyright Paul A. Bristow 2008
 
 // 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; // Needed to get svg colors and others.
@@ -61,8 +65,8 @@
                .title_font_size(20)
                .x_label("x")
                .y_label("50 * f(x)")
- .x_major_value_labels_side(bottom)
- .y_major_value_labels_side(left)
+ .x_major_labels_side(bottom)
+ .y_major_labels_side(left)
          .x_major_grid_on(true)
          .y_major_grid_on(true)
          .x_major_grid_color(cyan)

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -1,4 +1,14 @@
-// auto_boxplot.cpp
+/*! \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.
+
+ \date 11 feb 2009
+ \author Paul A Bristow
+/*
 
 // Copyright Jacob Voytko 2007
 // Copyright Paul A Bristow 2008
@@ -8,10 +18,6 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-// An example to demonstrate boxplot settings, including *auto-scaling*.
-// See auto_boxcontainers.cpp for an example autoscaling with multiple data series.
-// See also demo_boxplot.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_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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -120,8 +120,8 @@
           .plot_border_color(magenta)
           .x_label_on(true)
           .y_label_on(true)
- .y_major_value_labels_side(left_side)
- .x_major_value_labels_side(left_side)
+ .y_major_labels_side(left_side)
+ .x_major_labels_side(left_side)
           //.legend_title("Function")
           .legend_title("Unicode &#x3A9;&#x3A6;")
           .legend_title_font_size(16);
@@ -193,14 +193,14 @@
   my_plot.y_ticks_on_window_or_axis(0); // ticks on axes.
 
   // Which side of axis line or plot window the value labels go.
- //my_plot.x_major_value_labels_side(0); // NO value labels.
- //my_plot.y_major_value_labels_side(0); // NO value labels.
+ //my_plot.x_major_labels_side(0); // NO value labels.
+ //my_plot.y_major_labels_side(0); // NO value labels.
 
- //my_plot.x_major_value_labels_side(top_side); // Top side value labels.
- //my_plot.x_major_value_labels_side(bottom_side); // Bottom side value labels (default).
- //my_plot.y_major_value_labels_side(no_labels); // NO value labels.
- //my_plot.y_major_value_labels_side(right_side); // Right side of axis value labels.
- //my_plot.y_major_value_labels_side(left_side); // Left side value labels (default).
+ //my_plot.x_major_labels_side(top_side); // Top side value labels.
+ //my_plot.x_major_labels_side(bottom_side); // Bottom side value labels (default).
+ //my_plot.y_major_labels_side(no_labels); // NO value labels.
+ //my_plot.y_major_labels_side(right_side); // Right side of axis value labels.
+ //my_plot.y_major_labels_side(left_side); // Left side value labels (default).
 
   //my_plot.x_major_label_rotation(rotate_style(x_rotation));// Use this plot function's defaults.
   //my_plot.x_major_label_rotation(horizontal); // svg_2d_plot default.
@@ -356,7 +356,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -400,7 +400,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10
@@ -493,7 +493,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -537,7 +537,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10
@@ -630,7 +630,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -674,7 +674,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10
@@ -767,7 +767,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -811,7 +811,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10
@@ -904,7 +904,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -948,7 +948,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10
@@ -1041,7 +1041,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -1085,7 +1085,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10
@@ -1178,7 +1178,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -1222,7 +1222,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10
@@ -1315,7 +1315,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on true
@@ -1359,7 +1359,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 2
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 10

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_simple.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_simple.cpp (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/demo_2d_simple.cpp 2009-02-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -193,7 +193,7 @@
 x_label_font_size 14
 x_label_units
 x_label_units_on false
-x_major_value_labels_side left
+x_major_labels_side left
 x_major_label_rotation 0
 x_major_grid_color RGB(200,220,255)
 x_major_grid_on false
@@ -237,7 +237,7 @@
 y_major_grid_color RGB(200,220,255)
 y_major_grid_width 1
 y_major_interval 2
-y_major_value_labels_side bottom
+y_major_labels_side bottom
 y_major_label_rotation 0
 y_major_tick_color RGB(0,0,0)
 y_major_tick_length 5

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -233,9 +233,9 @@
  // my_plot.x_label_units_on(true); // Set
  // BOOST_CHECK_EQUAL(my_plot.x_label_units_on(), true); // & check.
 
- // BOOST_CHECK_EQUAL(my_plot.x_major_value_labels_side(), true); // Check default.
- // my_plot.x_major_value_labels_side(false); // Set
- // BOOST_CHECK_EQUAL(my_plot.x_major_value_labels_side(), false); // & check.
+ // BOOST_CHECK_EQUAL(my_plot.x_major_labels_side(), true); // Check default.
+ // my_plot.x_major_labels_side(false); // Set
+ // BOOST_CHECK_EQUAL(my_plot.x_major_labels_side(), false); // & check.
 
  // BOOST_CHECK_EQUAL(my_plot.title_on(), true); // Check default.
  // my_plot.title_on(false); // Set

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-11 15:07:56 EST (Wed, 11 Feb 2009)
@@ -248,11 +248,11 @@
   my_plot.x_label_units_on(true); // Set
          BOOST_CHECK_EQUAL(my_plot.x_label_units_on(), true); // & check.
 
- BOOST_CHECK_EQUAL(my_plot.x_major_value_labels_side(), left_side); // Check default.
- my_plot.x_major_value_labels_side(0); // Set
- BOOST_CHECK_EQUAL(my_plot.x_major_value_labels_side(), none); // & check.
- my_plot.x_major_value_labels_side(+1); // Set
- BOOST_CHECK_EQUAL(my_plot.x_major_value_labels_side(), right_side); // & check.
+ BOOST_CHECK_EQUAL(my_plot.x_major_labels_side(), left_side); // Check default.
+ my_plot.x_major_labels_side(0); // Set
+ BOOST_CHECK_EQUAL(my_plot.x_major_labels_side(), none); // & check.
+ my_plot.x_major_labels_side(+1); // Set
+ BOOST_CHECK_EQUAL(my_plot.x_major_labels_side(), right_side); // & check.
 
          BOOST_CHECK_EQUAL(my_plot.title_on(), true); // Check default.
   my_plot.title_on(false); // Set


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