Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.visualization.svg
Class SVGPlot

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.visualization.svg.SVGPlot

public class SVGPlot
extends Object

Base class for SVG plots. Provides some basic functionality such as element creation, axis plotting, markers and number formatting for SVG.

Author:
Erich Schubert

Field Summary
private  CSSClassManager cssman
          CSS class manager
private  Element defs
          Definitions element of the document.
private  org.w3c.dom.svg.SVGDocument document
          SVG document we plot to.
private  HashMap<String,WeakReference<Element>> objWithId
          Manage objects with an id.
private  Element root
          Root element of the document.
private  Element style
          Primary style information
 
Constructor Summary
SVGPlot()
          Create a new plotting document.
 
Method Summary
protected  Collection<String> getAllIds()
          Get all used DOM Ids in this plot.
 CSSClassManager getCSSClassManager()
          Get the plots CSS class manager.
 Element getDefs()
          Getter for definitions section
 org.w3c.dom.svg.SVGDocument getDocument()
          Retrieve the SVG document.
 Element getIdElement(String id)
          Get an element by its id.
 Element getRoot()
          Getter for definitions section
 Element getStyle()
          Deprecated. Contents will be overwritten by CSS class manager!
 void putIdElement(String id, Element obj)
          Add an object id.
 void saveAsEPS(File file)
          Transcode file to EPS.
 void saveAsJPEG(File file, int width, int height)
          Transcode file to JPEG.
 void saveAsJPEG(File file, int width, int height, double quality)
          Transcode file to JPEG.
 void saveAsPDF(File file)
          Transcode file to PDF.
 void saveAsPNG(File file, int width, int height)
          Transcode file to PNG.
 void saveAsPS(File file)
          Transcode file to PS.
 void saveAsSVG(File file)
          Save document into a SVG file.
 Element svgElement(String name)
          Create a SVG element in the SVG namespace.
protected  void transcode(File file, org.apache.batik.transcoder.Transcoder transcoder)
          Transcode a document into a file using the given transcoder.
 void updateStyleElement()
          Update style element - invoke this appropriately after any change to the CSS styles.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

document

private org.w3c.dom.svg.SVGDocument document
SVG document we plot to.


root

private Element root
Root element of the document.


defs

private Element defs
Definitions element of the document.


style

private Element style
Primary style information


cssman

private CSSClassManager cssman
CSS class manager


objWithId

private HashMap<String,WeakReference<Element>> objWithId
Manage objects with an id.

Constructor Detail

SVGPlot

public SVGPlot()
Create a new plotting document.

Method Detail

svgElement

public Element svgElement(String name)
Create a SVG element in the SVG namespace. Non-static version.

Parameters:
name - node name
Returns:
new SVG element.

getDocument

public org.w3c.dom.svg.SVGDocument getDocument()
Retrieve the SVG document.

Returns:
resulting document.

getRoot

public Element getRoot()
Getter for definitions section

Returns:
DOM element

getDefs

public Element getDefs()
Getter for definitions section

Returns:
DOM element

getStyle

@Deprecated
public Element getStyle()
Deprecated. Contents will be overwritten by CSS class manager!

Getter for style element.

Returns:
stylesheet DOM element

getCSSClassManager

public CSSClassManager getCSSClassManager()
Get the plots CSS class manager. Note that you need to invoke updateStyleElement() to make changes take effect.

Returns:
CSS class manager.

updateStyleElement

public void updateStyleElement()
Update style element - invoke this appropriately after any change to the CSS styles.


saveAsSVG

public void saveAsSVG(File file)
               throws IOException,
                      TransformerFactoryConfigurationError,
                      TransformerException
Save document into a SVG file. References PNG images from the temporary files will be inlined automatically.

Parameters:
file - Output filename
Throws:
IOException - On write errors
TransformerFactoryConfigurationError
TransformerException

transcode

protected void transcode(File file,
                         org.apache.batik.transcoder.Transcoder transcoder)
                  throws IOException,
                         org.apache.batik.transcoder.TranscoderException
Transcode a document into a file using the given transcoder.

Parameters:
file - Output file
transcoder - Transcoder to use
Throws:
IOException - On write errors
org.apache.batik.transcoder.TranscoderException - On input/parsing errors

saveAsPDF

public void saveAsPDF(File file)
               throws IOException,
                      org.apache.batik.transcoder.TranscoderException
Transcode file to PDF.

Parameters:
file - Output filename
Throws:
IOException - On write errors
org.apache.batik.transcoder.TranscoderException - On input/parsing errors.

saveAsPS

public void saveAsPS(File file)
              throws IOException,
                     org.apache.batik.transcoder.TranscoderException
Transcode file to PS.

Parameters:
file - Output filename
Throws:
IOException - On write errors
org.apache.batik.transcoder.TranscoderException - On input/parsing errors.

saveAsEPS

public void saveAsEPS(File file)
               throws IOException,
                      org.apache.batik.transcoder.TranscoderException
Transcode file to EPS.

Parameters:
file - Output filename
Throws:
IOException - On write errors
org.apache.batik.transcoder.TranscoderException - On input/parsing errors.

saveAsPNG

public void saveAsPNG(File file,
                      int width,
                      int height)
               throws IOException,
                      org.apache.batik.transcoder.TranscoderException
Transcode file to PNG.

Parameters:
file - Output filename
width - Width
height - Height
Throws:
IOException - On write errors
org.apache.batik.transcoder.TranscoderException - On input/parsing errors.

saveAsJPEG

public void saveAsJPEG(File file,
                       int width,
                       int height,
                       double quality)
                throws IOException,
                       org.apache.batik.transcoder.TranscoderException
Transcode file to JPEG.

Parameters:
file - Output filename
width - Width
height - Height
quality - JPEG quality setting, between 0.0 and 1.0
Throws:
IOException - On write errors
org.apache.batik.transcoder.TranscoderException - On input/parsing errors.

saveAsJPEG

public void saveAsJPEG(File file,
                       int width,
                       int height)
                throws IOException,
                       org.apache.batik.transcoder.TranscoderException
Transcode file to JPEG.

Parameters:
file - Output filename
width - Width
height - Height
Throws:
IOException - On write errors
org.apache.batik.transcoder.TranscoderException - On input/parsing errors.

putIdElement

public void putIdElement(String id,
                         Element obj)
Add an object id.

Parameters:
id - ID
obj - Element

getIdElement

public Element getIdElement(String id)
Get an element by its id.

Parameters:
id - ID
Returns:
Element

getAllIds

protected Collection<String> getAllIds()
Get all used DOM Ids in this plot.

Returns:
Collection of DOM element IDs.

Release 0.2.1 (2009-07-13_1605)