Boost C++ Libraries Home Libraries People FAQ More

Next

SVG_Plot

Jake Voytko

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


Table of Contents

How To Use This Documentation
Admonishments
Preface
To Do List
Colors
svg_color_constant Interface
Example of using svg_color_constant
svg_color interface
Example of using svg_color
Internals and Rationale
Tutorial: 1D Simple Program
Code Example
Image
A note on syntax
Basic Example Breakdown
Tutorial: 1D Full Layout Example
Tutorial: 1D Special Features
X Axis Grid Lines
X Axis External Style
Tutorial: Simple 2D Program
Simple Code Example
Simple Image
Basic Example Breakdown
Tutorial: Full Layout Example
Tutorial: 2D Special Features
Y Axis Grid Lines
External Y Axis Style
Fill the area between the plot and the axis
Curve Interpolation
Defaults
svg_1d_plot Defaults
svg_2d_plot Defaults
SVG Public Interface
svg_1d_plot Public Interface
Miscellaneous Functions
Commands
Color Information
Axis Information
The plot() Method
svg_2d_plot Public Interface
Miscellaneous
Commands
Axis Information
The plot() Method
Acknowledgements

How To Use This Documentation

  • Tutorial pages are intended for those who do not know how to use the program.
    • The pages that begin with the tag "Tutorial: Simple" are for absolute beginners.
    • "Tutorial: Full" should give the intermediate user a good reference, as well as show how the program can be used
    • "Tutorial: Special" shows other features/options that the headers provide to the user.
  • The pages labelled "* Public Interface" give reference information for their respective subjects. You can find all public methods (and data members, when structs are concerned) in these sections.
  • If you have a feature request, or if it appears that my implementation is in error, please check the To Do page first, as well as the area's respective rationale section, if it exists. If I you do not find your idea/complaint, please reach me either through the Boost dev list, or email me at jakevoytko (at) gmail (dot) com

Admonishments

[Note] Note

These blocks typically go into more detail about an explanation given above.

[Tip] Tip

These blocks contain information that you may find helpful while coding.

[Important] Important

These contain information that is imperative to understanding a concept. Failure to follow these blocks will likely result in undesired behavior. Read all of these you find.

[Warning] Warning

It is imperative that you follow these. Failure to do so will lead to incorrect, and likely undesired, results in the plot

And the first admonishment I will use is as follows:

[Important] Important

This is not currently a Boost library. It is a GSoC project whose mentor organization is Boost.

Preface

The first task when dealing with numerical data is to plot it. Humans have a fantastic capacity for visual understanding, and merely looking at data organized in one, two, or three dimensions allows us to see relations not otherwise visible in a list of numbers. Computers, however, deal with information numerically, and C++ and the STL do not currently offer a way to bridge the gap. This library allows the user to easily plot data stored in STL containers with (hopefully!) minimal intervention.

This project is focused on using STL containers in order to graph data on a one-dimensional and two-dimensional (and if time allows, 3D!) plot. The plot will currently be written in an SVG image, compliant with the standard. The goals of the project are as follows:

  • To let users produce a simple plot with minimal intervention by using sane defaults
  • To allow users to easily customize plots to their heart's content
  • To allow the user to talk to the plot classes using coordinate units rather than pixels or other arbitrary measures
  • To create the backbone of a svg class that can be extended to fully support the standard
[Note] Note

I have only a student's grasp of C++, so if you have a suggestion to help me with design or implementation, email me at jakevoytko (at) gmail (dot) com

Last revised: July 31, 2007 at 01:11:42 GMT


Next