VTK/Charts: Difference between revisions

From KitwarePublic
< VTK
Jump to navigationJump to search
(Added some more notes about chart types, other projects, open questions.)
(Updated links.)
 
(23 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Rendering ==
== Goals ==


Interactive rendering using VTK/OpenGL, with an emphasis on performance and scalability.
* Render 2D charts using OpenGL/VTK
* Scalable to large data sets
* Simple, flexible API
* Enable server side rendering of charts with VTK compositing
* Proper handling of IEEE Not-A-Number (NaN) values in plots of both experimental and simulation data.


* Alternate backend to produce publication quality output?
== Open Questions ==
* Possibility to extend the API to 3D charts in the future?
 
* Alternate backend to produce publication quality output?
* Possibility to extend the API to 3D charts in the future?
* Maybe real-time charting? (just-in-time visualization of data sets)
 
 
 
== Further Details on API ==
 
Please see [[VTK/2DAPI]] and [[VTK/Charts/ChartAPI]] for details about the 2D API and chart API, along with proposed class relationships. [[VTK/Marks]] discusses options for a [http://www.protovis.org protovis]-like API in VTK, that would build on the 2D API. The [[VTK/CanvasAPI]] details the canvas API that both the chart and marks API build on.


== Chart Types ==
== Chart Types ==


* XY plot
* XY plot
* Scatter
* Scatter
* Bar chart
* Bar chart
* Histogram
* Histogram
* Stack chart
* Stack chart
* Pie chart
* Pie chart
* Parallel axes
* Parallel axes
* Tree map
* Tree map
* Bubble chart
* Bubble chart


== Existing Applications/Libraries ==
== Existing Applications/Libraries ==
Line 24: Line 37:
=== Optimized for Screen Rendering ===
=== Optimized for Screen Rendering ===


* [http://www.prefuse.org/ prefuse]
* [http://www.prefuse.org/ prefuse]
* [http://www.tableausoftware.com/ tableau]
* [http://www.tableausoftware.com/ tableau]
* [http://manyeyes.alphaworks.ibm.com/manyeyes/ Many Eyes]
* [http://manyeyes.alphaworks.ibm.com/manyeyes/ Many Eyes]
* [http://code.google.com/apis/chart/ Google Chart]
* [http://code.google.com/apis/chart/ Google Chart]
* [http://qwt.sourceforge.net/ Qwt]
* [http://qwt.sourceforge.net/ Qwt]
* [http://qwtplot3d.sourceforge.net/ QwtPlot3D]
* [http://qwtplot3d.sourceforge.net/ QwtPlot3D]
* [http://anaphe.web.cern.ch/anaphe/qplotter.html QPlotter]
* [http://anaphe.web.cern.ch/anaphe/qplotter.html QPlotter]
* [http://www.ggobi.org/ ggobi]
* [http://www.zedgraph.org/ ZedGraph]
* [http://www.steema.com/ TeeChart]
* [http://www.iocomp.com/ Iocomp]
* [http://www.codeproject.com/KB/miscctrl/xgraph.aspx/ Scientific charting control]
* [http://www.advsofteng.com/ ChartDirector]
* [http://www.dundas.com/ Dundas]
* [http://www.visifire.com/ Visifire]
* [http://code.google.com/p/core-plot/ core-plot]
* [http://vis.stanford.edu/protovis/ Protoviz]


=== Multiple Backends (Publication Quality) ===
=== Multiple Backends (Publication Quality) ===


* [http://plplot.sourceforge.net/ PLPlot]
* [http://plplot.sourceforge.net/ PLPlot]
* [http://www.gnuplot.info/ gnuplot]
* [http://www.gnuplot.info/ gnuplot]
* [http://matplotlib.sourceforge.net/ matplotlib]
* [http://matplotlib.sourceforge.net/ matplotlib]
* [http://home.gna.org/veusz/ Veusz]
* [http://home.gna.org/veusz/ Veusz]
* [http://plasma-gate.weizmann.ac.il/Grace/ Grace]
* [http://plasma-gate.weizmann.ac.il/Grace/ Grace]
* [http://glx.sourceforge.net/ GLE]
* [http://glx.sourceforge.net/ GLE]

Latest revision as of 16:32, 11 December 2009

Goals

  • Render 2D charts using OpenGL/VTK
  • Scalable to large data sets
  • Simple, flexible API
  • Enable server side rendering of charts with VTK compositing
  • Proper handling of IEEE Not-A-Number (NaN) values in plots of both experimental and simulation data.

Open Questions

  • Alternate backend to produce publication quality output?
  • Possibility to extend the API to 3D charts in the future?
  • Maybe real-time charting? (just-in-time visualization of data sets)


Further Details on API

Please see VTK/2DAPI and VTK/Charts/ChartAPI for details about the 2D API and chart API, along with proposed class relationships. VTK/Marks discusses options for a protovis-like API in VTK, that would build on the 2D API. The VTK/CanvasAPI details the canvas API that both the chart and marks API build on.

Chart Types

  • XY plot
  • Scatter
  • Bar chart
  • Histogram
  • Stack chart
  • Pie chart
  • Parallel axes
  • Tree map
  • Bubble chart

Existing Applications/Libraries

Below is a summary of different libraries or applications that produce 2D charts and plots. Those listed either provide both screen and publication quality rendering, or just screen rendering.

Optimized for Screen Rendering

Multiple Backends (Publication Quality)