Initial check-in
[dygraphs.git] / plotkit_v091 / doc / PlotKit.txt
1 {% extends "basex.html" %}
2 {% load markup %}
3 {% block pageid %}code{% endblock %}
4 {% block title %}PlotKit Documentation{% endblock %}
5 {% block headers %}
6 <link href="doc.css" media="screen" rel="stylesheet" type="text/css" />
7 {% endblock %}
8
9
10 {% block content %}
11 <div class="page doc">
12 {% filter markdown %}
13 PlotKit
14 =======
15
16 [PlotKit][] is a Javascript graph plotting library. It is aimed at web
17 applications that require plotting series of data in modern web
18 browsers. 
19
20 PlotKit requires [MochiKit][]. (1.3 or higher)
21
22 PlotKit supports both HTML Canvas and SVG, along with an 
23 [emulated canvas for Internet Explorer][IECanvas].
24
25 PlotKit is easily extensible to include other rendering engines,
26 styles and layouts. Please pursue the documentation for more
27 information.
28
29 PlotKit is licensed under the BSD License, so you can include it in
30 your free or commercial applications without worrying.
31
32 PlotKit Components
33 ==================
34
35 Base Classes
36 ------------
37
38 * [Base][] : Common functionality that is used in other classes,
39   including default styles.
40 * [Layout][] : The default chart layout engine, supports bar, line and
41                pie charts.
42 * [Renderer][]: Customising the look of the output
43
44 Renderer Specific Implementations
45 ---------------------------------
46
47 * [CanvasRenderer][]: Basic renderer using an HTML Canvas.
48 * [SVGRenderer][]: Basic renderer using SVG.
49 * [SweetCanvasRenderer][]: Customised Renderer that builds on CanvasRenderer to provide nicer looking charts.
50 * [SweetSVGRenderer][]: Customised renderer that builds on SVGRenderer to provide nicer looking charts.
51    
52 Utility Classes
53 ---------------
54
55 * [EasyPlot][]: Simple Wrapper around classes to provide one-line plotting.
56
57 Getting Started
58 ===============
59
60 * [PlotKit Quick Start][QuickStart] - A thorough quick start to getting charts working for Safari, Mozilla, Firefox, Opera and IE.
61 * [SVG/Canvas Browser Support Status][Browser] - Quirks about browser support that you should know about.
62 * [Simple Canvas Demo][QuickstartCanvasDemo] - Very basic Canvas demo all contained in an HTML file.
63 * [Simple SVG Demo][QuickstartSVGDemo] - Very basic SVG demo all contained in an HTML file.
64
65 More Demos
66 ==========
67
68 * Unit Tests [Canvas][CanvasTest], [SVG][SVGTest], [SweetCanvas][SCanvasTest], [SweetSVG][SSVGTest].
69 * [Dynamic Charting][DynamicTest].
70 * [Labels Example][]. Thanks to Christopher Armstrong.
71 * [Labels with Images][].
72 * [Axis Restrictions][].
73
74 Version History
75 ===============
76
77
78 ###PlotKit 0.8
79
80 * Total rewrite from [CanvasGraph 0.7][CanvasGraph]
81
82 ###PlotKit 0.9
83
84 * Fixed some redraw issues with clear()
85 * Replaced IECanvas.HTC with ExplorerCanvas
86 * Added auto import and packed versions just like MochiKit.
87 * Added horizontal bar chart rendering mode.
88 * Added awareness of prototype.js and workaround Array/Object mutilation issues with MochiKit.
89 * Added EasyPlot for single line plotting with Ajax support.
90 * More tests, [dynamic charting][DynamicTest] and quickstart demos.
91
92 ###PlotKit 0.9.1
93
94 * Make Sweet{Canvas/SVG}Renderers respect shouldFill.
95 * Fixed ignoring of maximum x and y values when setting xAxis/yAxis.
96 * Fixed typo for calculating yrange in Layout.js (thanks to
97     HubrisSonic).
98 * Changed SweetCanvasRenderer to use axisLineColor for drawing lines over 
99     background (thanks to HubrisSonic).
100 * Fixed bug in y-axis tick drawing (thanks to Cliff).
101 * Fixed x-axis calculation bug when xAxisIsZero is false (thanks to 
102     Loic Jeannin)
103 * Fixed xTicks drawing that exceed the bounds of the chart (thanks to
104     Cliff)
105 * Fixed barchart drawing with only 2 values (thanks to HubrisSonic)
106 * Hide pie chart labels of 0% (thanks to Attiks)
107 * Added optional field to addDatasetFromTable to include x-axis labels.
108 * Updated excanvas.js version to fix possible printing issues.
109
110 Road Map
111 ========
112 ###Version 0.9
113
114 * AutoSelectRenderer, automatically choose Canvas or SVG by auto detecting browser support.
115
116 ###Version 0.10
117
118 * Point plots
119 * Defined Event System Support
120 * Animation support.
121
122 [QuickStart]: PlotKit.QuickStart.html
123 [CanvasGraph]: http://www.liquidx.net/canvasgraphjs/
124 [PlotKit]: http://www.liquidx.net/plotkit/
125 [MochiKit]: http://mochikit.com/
126 [IECanvas]: http://me.eae.net/archive/2005/12/29/canvas-in-ie/
127 [Base]: PlotKit.Base.html
128 [Styles]: PlotKit.Styles.html
129 [Layout]: PlotKit.Layout.html
130 [Renderer]: PlotKit.Renderer.html
131 [CanvasRenderer]: PlotKit.Canvas.html
132 [SVGRenderer]: PlotKit.SVG.html
133 [SweetCanvasRenderer]: PlotKit.SweetCanvas.html
134 [SweetSVGRenderer]: PlotKit.SweetSVG.html
135 [EasyPlot]: PlotKit.EasyPlot.html
136 [Browser]: SVGCanvasCompat.html
137 [CanvasTest]: http://media.liquidx.net/js/plotkit-tests/basic.html
138 [SVGTest]: http://media.liquidx.net/js/plotkit-tests/svg.html
139 [SCanvasTest]: http://media.liquidx.net/js/plotkit-tests/sweet.html
140 [SSVGTest]: http://media.liquidx.net/js/plotkit-tests/sweet-svg.html
141 [QuickstartCanvasDemo]: http://media.liquidx.net/js/plotkit-tests/quickstart.html
142 [QuickstartSVGDemo]: http://media.liquidx.net/js/plotkit-tests/quickstart-svg.html
143 [QuickstartEasyDemo]: http://media.liquidx.net/js/plotkit-tests/quickstart-easy.html
144 [DynamicTest]: http://media.liquidx.net/js/plotkit-tests/dynamic.html
145 [Labels Example]: http://media.liquidx.net/js/plotkit-tests/labels.html
146 [Labels with Images]: http://media.liquidx.net/js/plotkit-tests/labels-img.html
147 [Axis Restrictions]: http://media.liquidx.net/js/plotkit-tests/axis.html
148
149 {% endfilter %}
150 </div>
151 {% endblock %}