GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SVG::Graph(3) User Contributed Perl Documentation SVG::Graph(3)

SVG::Graph

  use SVG::Graph;
  use SVG::Graph::Data;
  use SVG::Graph::Data::Datum;

  #create a new SVG document to plot in...
  my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30);

  #and create a frame to hold the data/glyphs
  my $frame = $graph->add_frame;

  #let's plot y = x^2
  my @data = map {SVG::Graph::Data::Datum->new(x=>$_,y=>$_^2)}
                 (1,2,3,4,5);
  my $data = SVG::Graph::Data->new(data => \@data);

  #put the xy data into the frame
  $frame->add_data($data);

  #add some glyphs to apply to the data in the frame
  $frame->add_glyph('axis',        #add an axis glyph
    'x_absolute_ticks' => 1,       #with ticks every one
                                   #unit on the x axis
    'y_absolute_ticks' => 1,       #and ticks every one
                                   #unit on the y axis

    'stroke'           => 'black', #draw the axis black
    'stroke-width'     => 2,       #and 2px thick
  );

  $frame->add_glyph('scatter',     #add a scatterplot glyph
    'stroke' => 'red',             #the dots will be outlined
                                   #in red,
    'fill'   => 'red',             #filled red,
    'fill-opacity' => 0.5,         #and 50% opaque
  );

  #print the graphic
  print $graph->draw;

SVG::Graph is a suite of perl modules for plotting data. SVG::Graph currently supports plots of one-, two- and three-dimensional data, as well as N-ary rooted trees. Data may be represented as:

 Glyph Name     Dimensionality supported
                1d      2d      3d      tree
 --------------------------------------------------------
 Axis                           x
 Bar Graph              x
 Bubble Plot                    x
 Heatmap Graph                  x
 Line Graph             x
 Pie Graph      x
 Scatter Plot           x
 Spline Graph           x
 Tree                                   x

SVG::Graph 0.02 is a pre-alpha release. Keep in mind that many of the glyphs are not very robust.

SVG::Graph - Visualize your data in Scalable Vector Graphics (SVG) format.

You need to create a SVG::Graph::Frame instance from the parent SVG::Graph instance for each set of data to be plotted. Datasets can be hierarchical, and to represent this, SVG::Graph::Frame instances can themselves contain subframes. SVG::Graph::Frame can contain:

 - multiple subframes as instances of SVG::Graph::Frame
 - a single SVG::Graph::Data instance
 - multiple SVG::Graph::Glyph instances with which to render
   the attached SVG::Graph::Data instance, and all SVG::Graph::Data
   instances attached to SVG::Graph::Frame subinstances

See SVG::Graph::Frame and SVG::Graph::Glyph for details.

 1. create an SVG::Graph instance
 2. create an SVG::Graph::Frame instance by calling
    SVG::Graph::add_frame();
 3. create an SVG::Graph::Data instance, containing
    an SVG::Graph::Data::Datum instance for each data point.
 4. Attach the SVG::Graph::Data instance to your SVG::Graph::Frame
    using SVG::Graph::Frame::add_data();
 5. Attach glyphs to the SVG::Graph::Frame instance using
    SVG::Graph::Frame::add_glyph();
 6. Call SVG::Graph::draw();

 1. create an SVG::Graph instance
 2. create an SVG::Graph::Frame instance by calling
    SVG::Graph::add_frame();
 3. create an SVG::Graph::Data instance, containing
    an SVG::Graph::Data::Datum instance for each data point.
 4. Attach the SVG::Graph::Data instance to your SVG::Graph::Frame
    using SVG::Graph::Frame::add_data();
 5. Attach glyphs to the SVG::Graph::Frame instance using
    SVG::Graph::Frame::add_glyph();
 6. repeat [2-5] for each additional data set to be added.
    add_frame() can be called on SVG::Graph to add top-level data
    sets, or SVG::Graph::Frame to add hierarchical data sets.
 7. Call SVG::Graph::draw();

Send an email to the svg-graph-developers list. For more info, visit the project page at http://www.sf.net/projects/svg-graph

 Allen Day,      <allenday@ucla.edu>
 Chris To,       <crsto@ucla.edu>

 James Chen,     <chenj@seas.ucla.edu>
 Brian O'Connor, <boconnor@ucla.edu>
 Chris Fields,   cjfields at bioperl dot org

SVG

 Title   : new
 Usage   : my $graph = SVG::Graph->new(width=>600,
                                       height=>600,
                                       margin=>20);
 Function: creates a new SVG::Graph object
 Returns : a SVG::Graph object
 Args    : width => the width of the SVG
           height => the height of the SVG
           margin => margin for the root frame

 Title   : init
 Usage   :
 Function:
 Example :
 Returns :
 Args    :

 Title   : width
 Usage   : $obj->width($newval)
 Function:
 Example :
 Returns : value of width (a scalar)
 Args    : on set, new value (a scalar or undef, optional)

 Title   : height
 Usage   : $obj->height($newval)
 Function:
 Example :
 Returns : value of height (a scalar)
 Args    : on set, new value (a scalar or undef, optional)

 Title   : margin
 Usage   : $obj->margin($newval)
 Function:
 Example :
 Returns : value of margin (a scalar)
 Args    : on set, new value (a scalar or undef, optional)

 Title   : svg
 Usage   : $obj->svg($newval)
 Function:
 Example :
 Returns : value of svg (a scalar)
 Args    : on set, new value (a scalar or undef, optional)

 Title   : add_frame
 Usage   : my $frame = $graph->add_frame
 Function: adds a Frame to the current Graph
 Returns : a SVG::Graph::Frame object
 Args    : a hash.  usable keys:
             frame_transform (optional)
               'top' default orientation
               'bottom' rotates graph 180 deg (about the center)
               'right' points top position towards right
               'left' points top position towards left

 Title   : frames
 Usage   : get/set
 Function:
 Example :
 Returns :
 Args    :

 Title   : xoffset
 Usage   : $obj->xoffset($newval)
 Function:
 Example :
 Returns : value of xoffset (a scalar)
 Args    : on set, new value (a scalar or undef, optional)

 Title   : yoffset
 Usage   : $obj->yoffset($newval)
 Function:
 Example :
 Returns : value of yoffset (a scalar)
 Args    : on set, new value (a scalar or undef, optional)

 Title   : draw
 Usage   : $graph=>draw
 Function: depends on child glyph implementations
 Returns : xmlifyied SVG object
 Args    : none

Chris Fields <cjfields@bioperl.org>

This software is Copyright (c) 2012 by Chris Fields.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)
2022-04-09 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.