logo

SVGPlot

Introduction

SVGPlot will be the combination of several things:

The goal is to make these three as clean as possible

I set out to create a plotting program that:

Live Demos

Browse Code in SVN Repository

Design/Philosophy

Looking around, I found most of the existing plotting APIs lacking and decided to start from scratch.

The idea is to plot data sets. You can think of data sets as an area in a spreadsheet or a table in a database. Each piece of data (row) has values for attributes (columns). Plotting is the act of mapping one or more of these attributes to one or more plot characteristics: x-position, y-position, color, shape, size, orientation, panel-number.

Date Temperature Phase of Moon
     
     
     
     
<plot where the phase of the moon is encoded in little pictures of what the moon would look like in that phase>

The simplest and most common case is plotting one variable against another.

x y
1 1
2 4
3 9
4 16
5 25
6 36
y=x^2

There are two main categories of data, which affect how they are plotted and how ticks and labels are done:

A histogram is a higher-level construct. Here the data isn't directly mapped to the plot, but something is first calculated (how many data points fit into each category) and then the category versus counts are plotted.

Plot Features to Support

Hand Crafted SVGs to guide Development

layout markings gradients

Inspiration/Other Programs

Also see jsxgraph SVG Wikipedia's List_of_information_graphics_software

Data Plotting Ploticus / GNUPlot / Matplotlib / PyX / Chaco / GNU PlotUtils / Super Mongo / Igor Pro Galary / Origin (Comm) / Matlab Tutorial / Dplot Galery (Win Trial) / Graphis / LabPlot KDE / JFreeChart / Grace for X / Create A Graph Website / Octave (OSS Matlab) / PlotKit / .netCharting / pgpolot / swivel.com / ChartFX / JpGraph / SciDavis / QtiPlot / Stolte & Hanrahan's Polaris /

Function Plotting Asymptote / NuCalc (old Mac) / Grapher (replacement) / GrafEQ Interval / DLSin / MTAC Java / Java Online / GraphCalc OSS Win / GraphPlotter Win / Fornux Win / Math 3D Explorer / Virtual Labs / PyX /

Complex and Vector Plotting Visual Complex Analysis Websites / Draw Rect Vector Flow / Vector Field Analizer (Applet) / Complex Mapping Viewer / Complex Functions /

Web Charting Flex Charting & Dashboard Example / PlotKit / Dojo / GlobFX /

Visualization VTK / TVTK / MayaVi & MayaVi2 / ParaView / VisIT / OpenDX (IBM's Viz Data Explorer) / SCIRun / NAG's Iris Explorer / OSS Package / Gallary of Viz / vpython / Gapminder / JunkCharts /

Data Analysis Tableau / Root / Java Analysis Studio (JAS3) / HippoDraw / AIDA: Abstract Interfaces for Data Analysis /

Computer Algebra Systems Maxima / Yacas / Euler / Eclipse / Sage /

Design Issues/Tradeoffs

Future Plans or Additional Packages

Keywords: plot, plotting, graph, graphing, chart, charting