columbus3 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/README.textile +62 -0
  3. data/bower_components/flot/.bower.json +19 -0
  4. data/bower_components/flot/.gitignore +3 -0
  5. data/bower_components/flot/.travis.yml +3 -0
  6. data/bower_components/flot/API.md +1498 -0
  7. data/bower_components/flot/CONTRIBUTING.md +98 -0
  8. data/bower_components/flot/FAQ.md +75 -0
  9. data/bower_components/flot/LICENSE.txt +22 -0
  10. data/bower_components/flot/Makefile +12 -0
  11. data/bower_components/flot/NEWS.md +1026 -0
  12. data/bower_components/flot/PLUGINS.md +143 -0
  13. data/bower_components/flot/README.md +110 -0
  14. data/bower_components/flot/component.json +8 -0
  15. data/bower_components/flot/examples/ajax/data-eu-gdp-growth-1.json +4 -0
  16. data/bower_components/flot/examples/ajax/data-eu-gdp-growth-2.json +4 -0
  17. data/bower_components/flot/examples/ajax/data-eu-gdp-growth-3.json +4 -0
  18. data/bower_components/flot/examples/ajax/data-eu-gdp-growth-4.json +4 -0
  19. data/bower_components/flot/examples/ajax/data-eu-gdp-growth-5.json +4 -0
  20. data/bower_components/flot/examples/ajax/data-eu-gdp-growth.json +4 -0
  21. data/bower_components/flot/examples/ajax/data-japan-gdp-growth.json +4 -0
  22. data/bower_components/flot/examples/ajax/data-usa-gdp-growth.json +4 -0
  23. data/bower_components/flot/examples/ajax/index.html +173 -0
  24. data/bower_components/flot/examples/annotating/index.html +87 -0
  25. data/bower_components/flot/examples/axes-interacting/index.html +97 -0
  26. data/bower_components/flot/examples/axes-multiple/index.html +77 -0
  27. data/bower_components/flot/examples/axes-time-zones/date.js +893 -0
  28. data/bower_components/flot/examples/axes-time-zones/index.html +114 -0
  29. data/bower_components/flot/examples/axes-time-zones/tz/africa +1181 -0
  30. data/bower_components/flot/examples/axes-time-zones/tz/antarctica +413 -0
  31. data/bower_components/flot/examples/axes-time-zones/tz/asia +2717 -0
  32. data/bower_components/flot/examples/axes-time-zones/tz/australasia +1719 -0
  33. data/bower_components/flot/examples/axes-time-zones/tz/backward +117 -0
  34. data/bower_components/flot/examples/axes-time-zones/tz/etcetera +81 -0
  35. data/bower_components/flot/examples/axes-time-zones/tz/europe +2856 -0
  36. data/bower_components/flot/examples/axes-time-zones/tz/factory +10 -0
  37. data/bower_components/flot/examples/axes-time-zones/tz/iso3166.tab +276 -0
  38. data/bower_components/flot/examples/axes-time-zones/tz/leapseconds +100 -0
  39. data/bower_components/flot/examples/axes-time-zones/tz/northamerica +3235 -0
  40. data/bower_components/flot/examples/axes-time-zones/tz/pacificnew +28 -0
  41. data/bower_components/flot/examples/axes-time-zones/tz/solar87 +390 -0
  42. data/bower_components/flot/examples/axes-time-zones/tz/solar88 +390 -0
  43. data/bower_components/flot/examples/axes-time-zones/tz/solar89 +395 -0
  44. data/bower_components/flot/examples/axes-time-zones/tz/southamerica +1711 -0
  45. data/bower_components/flot/examples/axes-time-zones/tz/systemv +38 -0
  46. data/bower_components/flot/examples/axes-time-zones/tz/yearistype.sh +38 -0
  47. data/bower_components/flot/examples/axes-time-zones/tz/zone.tab +441 -0
  48. data/bower_components/flot/examples/axes-time/index.html +137 -0
  49. data/bower_components/flot/examples/background.png +0 -0
  50. data/bower_components/flot/examples/basic-options/index.html +91 -0
  51. data/bower_components/flot/examples/basic-usage/index.html +57 -0
  52. data/bower_components/flot/examples/canvas/index.html +75 -0
  53. data/bower_components/flot/examples/categories/index.html +64 -0
  54. data/bower_components/flot/examples/examples.css +97 -0
  55. data/bower_components/flot/examples/image/hs-2004-27-a-large-web.jpg +0 -0
  56. data/bower_components/flot/examples/image/index.html +69 -0
  57. data/bower_components/flot/examples/index.html +80 -0
  58. data/bower_components/flot/examples/interacting/index.html +118 -0
  59. data/bower_components/flot/examples/navigate/arrow-down.gif +0 -0
  60. data/bower_components/flot/examples/navigate/arrow-left.gif +0 -0
  61. data/bower_components/flot/examples/navigate/arrow-right.gif +0 -0
  62. data/bower_components/flot/examples/navigate/arrow-up.gif +0 -0
  63. data/bower_components/flot/examples/navigate/index.html +153 -0
  64. data/bower_components/flot/examples/percentiles/index.html +79 -0
  65. data/bower_components/flot/examples/realtime/index.html +122 -0
  66. data/bower_components/flot/examples/resize/index.html +76 -0
  67. data/bower_components/flot/examples/selection/index.html +152 -0
  68. data/bower_components/flot/examples/series-errorbars/index.html +150 -0
  69. data/bower_components/flot/examples/series-pie/index.html +818 -0
  70. data/bower_components/flot/examples/series-toggle/index.html +121 -0
  71. data/bower_components/flot/examples/series-types/index.html +90 -0
  72. data/bower_components/flot/examples/shared/jquery-ui/jquery-ui.min.css +6 -0
  73. data/bower_components/flot/examples/stacking/index.html +107 -0
  74. data/bower_components/flot/examples/symbols/index.html +76 -0
  75. data/bower_components/flot/examples/threshold/index.html +76 -0
  76. data/bower_components/flot/examples/tracking/index.html +135 -0
  77. data/bower_components/flot/examples/visitors/index.html +147 -0
  78. data/bower_components/flot/examples/zooming/index.html +144 -0
  79. data/bower_components/flot/excanvas.js +1428 -0
  80. data/bower_components/flot/excanvas.min.js +1 -0
  81. data/bower_components/flot/flot.jquery.json +27 -0
  82. data/bower_components/flot/jquery.colorhelpers.js +180 -0
  83. data/bower_components/flot/jquery.flot.canvas.js +345 -0
  84. data/bower_components/flot/jquery.flot.categories.js +190 -0
  85. data/bower_components/flot/jquery.flot.crosshair.js +176 -0
  86. data/bower_components/flot/jquery.flot.errorbars.js +353 -0
  87. data/bower_components/flot/jquery.flot.fillbetween.js +226 -0
  88. data/bower_components/flot/jquery.flot.image.js +241 -0
  89. data/bower_components/flot/jquery.flot.js +3168 -0
  90. data/bower_components/flot/jquery.flot.navigate.js +346 -0
  91. data/bower_components/flot/jquery.flot.pie.js +820 -0
  92. data/bower_components/flot/jquery.flot.resize.js +59 -0
  93. data/bower_components/flot/jquery.flot.selection.js +360 -0
  94. data/bower_components/flot/jquery.flot.stack.js +188 -0
  95. data/bower_components/flot/jquery.flot.symbol.js +71 -0
  96. data/bower_components/flot/jquery.flot.threshold.js +142 -0
  97. data/bower_components/flot/jquery.flot.time.js +432 -0
  98. data/bower_components/flot/jquery.js +9472 -0
  99. data/bower_components/flot/package.json +11 -0
  100. data/bower_components/jquery/.bower.json +38 -0
  101. data/bower_components/jquery/MIT-LICENSE.txt +21 -0
  102. data/bower_components/jquery/bower.json +28 -0
  103. data/bower_components/jquery/dist/jquery.js +9210 -0
  104. data/bower_components/jquery/dist/jquery.min.js +5 -0
  105. data/bower_components/jquery/dist/jquery.min.map +1 -0
  106. data/bower_components/jquery/src/ajax.js +786 -0
  107. data/bower_components/jquery/src/ajax/jsonp.js +89 -0
  108. data/bower_components/jquery/src/ajax/load.js +75 -0
  109. data/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  110. data/bower_components/jquery/src/ajax/parseXML.js +28 -0
  111. data/bower_components/jquery/src/ajax/script.js +64 -0
  112. data/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  113. data/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  114. data/bower_components/jquery/src/ajax/xhr.js +136 -0
  115. data/bower_components/jquery/src/attributes.js +11 -0
  116. data/bower_components/jquery/src/attributes/attr.js +141 -0
  117. data/bower_components/jquery/src/attributes/classes.js +158 -0
  118. data/bower_components/jquery/src/attributes/prop.js +94 -0
  119. data/bower_components/jquery/src/attributes/support.js +35 -0
  120. data/bower_components/jquery/src/attributes/val.js +161 -0
  121. data/bower_components/jquery/src/callbacks.js +205 -0
  122. data/bower_components/jquery/src/core.js +502 -0
  123. data/bower_components/jquery/src/core/access.js +60 -0
  124. data/bower_components/jquery/src/core/init.js +123 -0
  125. data/bower_components/jquery/src/core/parseHTML.js +39 -0
  126. data/bower_components/jquery/src/core/ready.js +97 -0
  127. data/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  128. data/bower_components/jquery/src/css.js +450 -0
  129. data/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  130. data/bower_components/jquery/src/css/curCSS.js +57 -0
  131. data/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  132. data/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  133. data/bower_components/jquery/src/css/support.js +96 -0
  134. data/bower_components/jquery/src/css/swap.js +28 -0
  135. data/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  136. data/bower_components/jquery/src/css/var/getStyles.js +12 -0
  137. data/bower_components/jquery/src/css/var/isHidden.js +13 -0
  138. data/bower_components/jquery/src/css/var/rmargin.js +3 -0
  139. data/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  140. data/bower_components/jquery/src/data.js +178 -0
  141. data/bower_components/jquery/src/data/Data.js +181 -0
  142. data/bower_components/jquery/src/data/accepts.js +20 -0
  143. data/bower_components/jquery/src/data/var/data_priv.js +5 -0
  144. data/bower_components/jquery/src/data/var/data_user.js +5 -0
  145. data/bower_components/jquery/src/deferred.js +149 -0
  146. data/bower_components/jquery/src/deprecated.js +13 -0
  147. data/bower_components/jquery/src/dimensions.js +50 -0
  148. data/bower_components/jquery/src/effects.js +648 -0
  149. data/bower_components/jquery/src/effects/Tween.js +114 -0
  150. data/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  151. data/bower_components/jquery/src/event.js +868 -0
  152. data/bower_components/jquery/src/event/ajax.js +13 -0
  153. data/bower_components/jquery/src/event/alias.js +39 -0
  154. data/bower_components/jquery/src/event/support.js +9 -0
  155. data/bower_components/jquery/src/exports/amd.js +24 -0
  156. data/bower_components/jquery/src/exports/global.js +32 -0
  157. data/bower_components/jquery/src/intro.js +44 -0
  158. data/bower_components/jquery/src/jquery.js +37 -0
  159. data/bower_components/jquery/src/manipulation.js +580 -0
  160. data/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  161. data/bower_components/jquery/src/manipulation/support.js +32 -0
  162. data/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  163. data/bower_components/jquery/src/offset.js +207 -0
  164. data/bower_components/jquery/src/outro.js +1 -0
  165. data/bower_components/jquery/src/queue.js +142 -0
  166. data/bower_components/jquery/src/queue/delay.js +22 -0
  167. data/bower_components/jquery/src/selector-native.js +172 -0
  168. data/bower_components/jquery/src/selector-sizzle.js +14 -0
  169. data/bower_components/jquery/src/selector.js +1 -0
  170. data/bower_components/jquery/src/serialize.js +111 -0
  171. data/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  172. data/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  173. data/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  174. data/bower_components/jquery/src/traversing.js +199 -0
  175. data/bower_components/jquery/src/traversing/findFilter.js +100 -0
  176. data/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  177. data/bower_components/jquery/src/var/arr.js +3 -0
  178. data/bower_components/jquery/src/var/class2type.js +4 -0
  179. data/bower_components/jquery/src/var/concat.js +5 -0
  180. data/bower_components/jquery/src/var/hasOwn.js +5 -0
  181. data/bower_components/jquery/src/var/indexOf.js +5 -0
  182. data/bower_components/jquery/src/var/pnum.js +3 -0
  183. data/bower_components/jquery/src/var/push.js +5 -0
  184. data/bower_components/jquery/src/var/rnotwhite.js +3 -0
  185. data/bower_components/jquery/src/var/slice.js +5 -0
  186. data/bower_components/jquery/src/var/strundefined.js +3 -0
  187. data/bower_components/jquery/src/var/support.js +4 -0
  188. data/bower_components/jquery/src/var/toString.js +5 -0
  189. data/bower_components/jquery/src/wrap.js +79 -0
  190. data/columbus3.gemspec +1 -1
  191. data/exe/columbus3 +72 -7
  192. data/lib/columbus3.rb +2 -1
  193. data/lib/columbus3/metadata/sidecar.rb +10 -1
  194. data/lib/columbus3/renderer/flot_renderer.rb +66 -0
  195. data/lib/columbus3/renderer/{renderer.rb → leaflet_renderer.rb} +0 -0
  196. data/lib/columbus3/version.rb +1 -1
  197. data/lib/html/flot.html.erb +106 -0
  198. metadata +194 -5
  199. data/README.md +0 -41
@@ -0,0 +1,98 @@
1
+ ## Contributing to Flot ##
2
+
3
+ We welcome all contributions, but following these guidelines results in less
4
+ work for us, and a faster and better response.
5
+
6
+ ### Issues ###
7
+
8
+ Issues are not a way to ask general questions about Flot. If you see unexpected
9
+ behavior but are not 100% certain that it is a bug, please try posting to the
10
+ [forum](http://groups.google.com/group/flot-graphs) first, and confirm that
11
+ what you see is really a Flot problem before creating a new issue for it. When
12
+ reporting a bug, please include a working demonstration of the problem, if
13
+ possible, or at least a clear description of the options you're using and the
14
+ environment (browser and version, jQuery version, other libraries) that you're
15
+ running under.
16
+
17
+ If you have suggestions for new features, or changes to existing ones, we'd
18
+ love to hear them! Please submit each suggestion as a separate new issue.
19
+
20
+ If you would like to work on an existing issue, please make sure it is not
21
+ already assigned to someone else. If an issue is assigned to someone, that
22
+ person has already started working on it. So, pick unassigned issues to prevent
23
+ duplicated effort.
24
+
25
+ ### Pull Requests ###
26
+
27
+ To make merging as easy as possible, please keep these rules in mind:
28
+
29
+ 1. Submit new features or architectural changes to the *<version>-work*
30
+ branch for the next major release. Submit bug fixes to the master branch.
31
+
32
+ 2. Divide larger changes into a series of small, logical commits with
33
+ descriptive messages.
34
+
35
+ 3. Rebase, if necessary, before submitting your pull request, to reduce the
36
+ work we need to do to merge it.
37
+
38
+ 4. Format your code according to the style guidelines below.
39
+
40
+ ### Flot Style Guidelines ###
41
+
42
+ Flot follows the [jQuery Core Style Guidelines](http://docs.jquery.com/JQuery_Core_Style_Guidelines),
43
+ with the following updates and exceptions:
44
+
45
+ #### Spacing ####
46
+
47
+ Use four-space indents, no tabs. Do not add horizontal space around parameter
48
+ lists, loop definitions, or array/object indices. For example:
49
+
50
+ ```js
51
+ for ( var i = 0; i < data.length; i++ ) { // This block is wrong!
52
+ if ( data[ i ] > 1 ) {
53
+ data[ i ] = 2;
54
+ }
55
+ }
56
+
57
+ for (var i = 0; i < data.length; i++) { // This block is correct!
58
+ if (data[i] > 1) {
59
+ data[i] = 2;
60
+ }
61
+ }
62
+ ```
63
+
64
+ #### Comments ####
65
+
66
+ Use [jsDoc](http://usejsdoc.org) comments for all file and function headers.
67
+ Use // for all inline and block comments, regardless of length.
68
+
69
+ All // comment blocks should have an empty line above *and* below them. For
70
+ example:
71
+
72
+ ```js
73
+ var a = 5;
74
+
75
+ // We're going to loop here
76
+ // TODO: Make this loop faster, better, stronger!
77
+
78
+ for (var x = 0; x < 10; x++) {}
79
+ ```
80
+
81
+ #### Wrapping ####
82
+
83
+ Block comments should be wrapped at 80 characters.
84
+
85
+ Code should attempt to wrap at 80 characters, but may run longer if wrapping
86
+ would hurt readability more than having to scroll horizontally. This is a
87
+ judgement call made on a situational basis.
88
+
89
+ Statements containing complex logic should not be wrapped arbitrarily if they
90
+ do not exceed 80 characters. For example:
91
+
92
+ ```js
93
+ if (a == 1 && // This block is wrong!
94
+ b == 2 &&
95
+ c == 3) {}
96
+
97
+ if (a == 1 && b == 2 && c == 3) {} // This block is correct!
98
+ ```
@@ -0,0 +1,75 @@
1
+ ## Frequently asked questions ##
2
+
3
+ #### How much data can Flot cope with? ####
4
+
5
+ Flot will happily draw everything you send to it so the answer
6
+ depends on the browser. The excanvas emulation used for IE (built with
7
+ VML) makes IE by far the slowest browser so be sure to test with that
8
+ if IE users are in your target group (for large plots in IE, you can
9
+ also check out Flashcanvas which may be faster).
10
+
11
+ 1000 points is not a problem, but as soon as you start having more
12
+ points than the pixel width, you should probably start thinking about
13
+ downsampling/aggregation as this is near the resolution limit of the
14
+ chart anyway. If you downsample server-side, you also save bandwidth.
15
+
16
+
17
+ #### Flot isn't working when I'm using JSON data as source! ####
18
+
19
+ Actually, Flot loves JSON data, you just got the format wrong.
20
+ Double check that you're not inputting strings instead of numbers,
21
+ like [["0", "-2.13"], ["5", "4.3"]]. This is most common mistake, and
22
+ the error might not show up immediately because Javascript can do some
23
+ conversion automatically.
24
+
25
+
26
+ #### Can I export the graph? ####
27
+
28
+ You can grab the image rendered by the canvas element used by Flot
29
+ as a PNG or JPEG (remember to set a background). Note that it won't
30
+ include anything not drawn in the canvas (such as the legend). And it
31
+ doesn't work with excanvas which uses VML, but you could try
32
+ Flashcanvas.
33
+
34
+
35
+ #### The bars are all tiny in time mode? ####
36
+
37
+ It's not really possible to determine the bar width automatically.
38
+ So you have to set the width with the barWidth option which is NOT in
39
+ pixels, but in the units of the x axis (or the y axis for horizontal
40
+ bars). For time mode that's milliseconds so the default value of 1
41
+ makes the bars 1 millisecond wide.
42
+
43
+
44
+ #### Can I use Flot with libraries like Mootools or Prototype? ####
45
+
46
+ Yes, Flot supports it out of the box and it's easy! Just use jQuery
47
+ instead of $, e.g. call jQuery.plot instead of $.plot and use
48
+ jQuery(something) instead of $(something). As a convenience, you can
49
+ put in a DOM element for the graph placeholder where the examples and
50
+ the API documentation are using jQuery objects.
51
+
52
+ Depending on how you include jQuery, you may have to add one line of
53
+ code to prevent jQuery from overwriting functions from the other
54
+ libraries, see the documentation in jQuery ("Using jQuery with other
55
+ libraries") for details.
56
+
57
+
58
+ #### Flot doesn't work with [insert name of Javascript UI framework]! ####
59
+
60
+ Flot is using standard HTML to make charts. If this is not working,
61
+ it's probably because the framework you're using is doing something
62
+ weird with the DOM or with the CSS that is interfering with Flot.
63
+
64
+ A common problem is that there's display:none on a container until the
65
+ user does something. Many tab widgets work this way, and there's
66
+ nothing wrong with it - you just can't call Flot inside a display:none
67
+ container as explained in the README so you need to hold off the Flot
68
+ call until the container is actually displayed (or use
69
+ visibility:hidden instead of display:none or move the container
70
+ off-screen).
71
+
72
+ If you find there's a specific thing we can do to Flot to help, feel
73
+ free to submit a bug report. Otherwise, you're welcome to ask for help
74
+ on the forum/mailing list, but please don't submit a bug report to
75
+ Flot.
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2007-2014 IOLA and Ole Laursen
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,12 @@
1
+ # Makefile for generating minified files
2
+
3
+ .PHONY: all
4
+
5
+ # we cheat and process all .js files instead of an exhaustive list
6
+ all: $(patsubst %.js,%.min.js,$(filter-out %.min.js,$(wildcard *.js)))
7
+
8
+ %.min.js: %.js
9
+ yui-compressor $< -o $@
10
+
11
+ test:
12
+ ./node_modules/.bin/jshint *jquery.flot.js
@@ -0,0 +1,1026 @@
1
+ ## Flot 0.8.3 ##
2
+
3
+ ### Changes ###
4
+
5
+ - Updated example code to avoid encouraging unnecessary re-plots.
6
+ (patch by soenter, pull request #1221)
7
+
8
+ ### Bug fixes ###
9
+
10
+ - Added a work-around to disable the allocation of extra space for first and
11
+ last axis ticks, allowing plots to span the full width of their container.
12
+ A proper solution for this bug will be implemented in the 0.9 release.
13
+ (reported by Josh Pigford and andig, issue #1212, pull request #1290)
14
+
15
+ - Fixed a regression introduced in 0.8.1, where the last tick label would
16
+ sometimes wrap rather than extending the plot's offset to create space.
17
+ (reported by Elite Gamer, issue #1283)
18
+
19
+ - Fixed a regression introduced in 0.8.2, where the resize plugin would use
20
+ unexpectedly high amounts of CPU even when idle.
21
+ (reported by tommie, issue #1277, pull request #1289)
22
+
23
+ - Fixed the selection example to work with jQuery 1.9.x and later.
24
+ (reported by EGLadona and dmfalke, issue #1250, pull request #1285)
25
+
26
+ - Added a detach shim to fix support for jQuery versions earlier than 1.4.x.
27
+ (reported by ngavard, issue #1240, pull request #1286)
28
+
29
+ - Fixed a rare 'Uncaught TypeError' when using the resize plugin in IE 7/8.
30
+ (reported by tleish, issue #1265, pull request #1289)
31
+
32
+ - Fixed zoom constraints to apply only in the direction of the zoom.
33
+ (patch by Neil Katin, issue #1204, pull request #1205)
34
+
35
+ - Markings lines are no longer blurry when drawn on pixel boundaries.
36
+ (reported by btccointicker and Rouillard, issue #1210)
37
+
38
+ - Don't discard original pie data-series values when combining slices.
39
+ (patch by Phil Tsarik, pull request #1238)
40
+
41
+ - Fixed broken auto-scale behavior when using deprecated [x|y]2axis options.
42
+ (reported by jorese, issue #1228, pull request #1284)
43
+
44
+ - Exposed the dateGenerator function on the plot object, as it used to be
45
+ before time-mode was moved into a separate plugin.
46
+ (patch by Paolo Valleri, pull request #1028)
47
+
48
+
49
+ ## Flot 0.8.2 ##
50
+
51
+ ### Changes ###
52
+
53
+ - Added a plot.destroy method as a way to free memory when emptying the plot
54
+ placeholder and then re-using it for some other purpose.
55
+ (patch by Thodoris Greasidis, issue #1129, pull request #1130)
56
+
57
+ - Added a table of contents and PLUGINS link to the API documentation.
58
+ (patches by Brian Peiris, pull requests #1064 and #1127)
59
+
60
+ - Added Ruby code examples for time conversion.
61
+ (patch by Mike Połtyn, pull request #1182)
62
+
63
+ - Minor improvements to API.md and README.md.
64
+ (patches by Patrik Ragnarsson, pull requests #1085 and #1086)
65
+
66
+ - Updated inlined jQuery Resize to the latest version to fix errors.
67
+ (reported by Matthew Sabol and sloker, issues #997 ad #1081)
68
+
69
+ ### Bug fixes ###
70
+
71
+ - Fixed an unexpected change in behavior that resulted in duplicate tick
72
+ labels when using a plugin, like flot-tickrotor, that overrode tick labels.
73
+ (patch by Mark Cote, pull request #1091)
74
+
75
+ - Fixed a regression from 0.7 where axis labels were given the wrong width,
76
+ causing them to overlap at certain scales and ignore the labelWidth option.
77
+ (patch by Benjamin Gram, pull request #1177)
78
+
79
+ - Fixed a bug where the second axis in an xaxes/yaxes array incorrectly had
80
+ its 'innermost' property set to false or undefined, even if it was on the
81
+ other side of the plot from the first axis. This resulted in the axis bar
82
+ being visible when it shouldn't have been, which was especially obvious
83
+ when the grid had a left/right border width of zero.
84
+ (reported by Teq1, fix researched by ryleyb, issue #1056)
85
+
86
+ - Fixed an error when using a placeholder that has no font-size property.
87
+ (patch by Craig Oldford, pull request #1135)
88
+
89
+ - Fixed a regression from 0.7 where nulls at the end of a series were ignored
90
+ for purposes of determing the range of the x-axis.
91
+ (reported by Munsifali Rashid, issue #1095)
92
+
93
+ - If a font size is provided, base the default lineHeight on that size rather
94
+ that the font size of the plot placeholder, which may be very different.
95
+ (reported by Daniel Hoffmann Bernardes, issue #1131, pull request #1199)
96
+
97
+ - Fix broken highlighting for right-aligned bars.
98
+ (reported by BeWiBu and Mihai Stanciu, issues #975 and #1093, with further
99
+ assistance by Eric Byers, pull request #1120)
100
+
101
+ - Prevent white circles from sometimes showing up inside of pie charts.
102
+ (reported by Pierre Dubois and Jack Klink, issues #1128 and #1073)
103
+
104
+ - Label formatting no longer breaks when a page contains multiple pie charts.
105
+ (reported by Brend Wanders, issue #1055)
106
+
107
+ - When using multiple axes on opposite sides of the plot, the innermost axis
108
+ coming later in the list no longer has its bar drawn incorrectly.
109
+ (reported by ryleyb, issue #1056)
110
+
111
+ - When removing series labels and redrawing the plot, the legend now updates
112
+ correctly even when using an external container.
113
+ (patch by Luis Silva, issue #1159, pull request #1160)
114
+
115
+ - The pie plugin no longer ignores the value of the left offset option.
116
+ (reported by melanker, issue #1136)
117
+
118
+ - Fixed a regression from 0.7, where extra padding was added unnecessarily to
119
+ sides of the plot where there was no last tick label.
120
+ (reported by sknob001, issue #1048, pull request #1200)
121
+
122
+ - Fixed incorrect tooltip behavior in the interacting example.
123
+ (patch by cleroux, issue #686, pull request #1074)
124
+
125
+ - Fixed an error in CSS color extraction with elements outside the DOM.
126
+ (patch by execjosh, pull request #1084)
127
+
128
+ - Fixed :not selector error when using jQuery without Sizzle.
129
+ (patch by Anthony Ryan, pull request #1180)
130
+
131
+ - Worked around a browser issue that caused bars to appear un-filled.
132
+ (reported by irbian, issue #915)
133
+
134
+ ## Flot 0.8.1 ##
135
+
136
+ ### Bug fixes ###
137
+
138
+ - Fixed a regression in the time plugin, introduced in 0.8, that caused dates
139
+ to align to the minute rather than to the highest appropriate unit. This
140
+ caused many x-axes in 0.8 to have different ticks than they did in 0.7.
141
+ (reported by Tom Sheppard, patch by Daniel Shapiro, issue #1017, pull
142
+ request #1023)
143
+
144
+ - Fixed a regression in text rendering, introduced in 0.8, that caused axis
145
+ labels with the same text as another label on the same axis to disappear.
146
+ More generally, it's again possible to have the same text in two locations.
147
+ (issue #1032)
148
+
149
+ - Fixed a regression in text rendering, introduced in 0.8, where axis labels
150
+ were no longer assigned an explicit width, and their text could not wrap.
151
+ (reported by sabregreen, issue #1019)
152
+
153
+ - Fixed a regression in the pie plugin, introduced in 0.8, that prevented it
154
+ from accepting data in the format '[[x, y]]'.
155
+ (patch by Nicolas Morel, pull request #1024)
156
+
157
+ - The 'zero' series option and 'autoscale' format option are no longer
158
+ ignored when the series contains a null value.
159
+ (reported by Daniel Shapiro, issue #1033)
160
+
161
+ - Avoid triggering the time-mode plugin exception when there are zero series.
162
+ (reported by Daniel Rothig, patch by Mark Raymond, issue #1016)
163
+
164
+ - When a custom color palette has fewer colors than the default palette, Flot
165
+ no longer fills out the colors with the remainder of the default.
166
+ (patch by goorpy, issue #1031, pull request #1034)
167
+
168
+ - Fixed missing update for bar highlights after a zoom or other redraw.
169
+ (reported by Paolo Valleri, issue #1030)
170
+
171
+ - Fixed compatibility with jQuery versions earlier than 1.7.
172
+ (patch by Lee Willis, issue #1027, pull request #1027)
173
+
174
+ - The mouse wheel no longer scrolls the page when using the navigate plugin.
175
+ (patch by vird, pull request #1020)
176
+
177
+ - Fixed missing semicolons in the core library.
178
+ (reported by Michal Zglinski)
179
+
180
+
181
+ ## Flot 0.8.0 ##
182
+
183
+ ### API changes ###
184
+
185
+ Support for time series has been moved into a plugin, jquery.flot.time.js.
186
+ This results in less code if time series are not used. The functionality
187
+ remains the same (plus timezone support, as described below); however, the
188
+ plugin must be included if axis.mode is set to "time".
189
+
190
+ When the axis mode is "time", the axis option "timezone" can be set to null,
191
+ "browser", or a particular timezone (e.g. "America/New_York") to control how
192
+ the dates are displayed. If null, the dates are displayed as UTC. If
193
+ "browser", the dates are displayed in the time zone of the user's browser.
194
+
195
+ Date/time formatting has changed and now follows a proper subset of the
196
+ standard strftime specifiers, plus one nonstandard specifier for quarters.
197
+ Additionally, if a strftime function is found in the Date object's prototype,
198
+ it will be used instead of the built-in formatter.
199
+
200
+ Axis tick labels now use the class 'flot-tick-label' instead of 'tickLabel'.
201
+ The text containers for each axis now use the classes 'flot-[x|y]-axis' and
202
+ 'flot-[x|y]#-axis' instead of '[x|y]Axis' and '[x|y]#Axis'. For compatibility
203
+ with Flot 0.7 and earlier text will continue to use the old classes as well,
204
+ but they are considered deprecated and will be removed in a future version.
205
+
206
+ In previous versions the axis 'color' option was used to set the color of tick
207
+ marks and their label text. It now controls the color of the axis line, which
208
+ previously could not be changed separately, and continues to act as a default
209
+ for the tick-mark color. The color of tick label text is now set either by
210
+ overriding the 'flot-tick-label' CSS rule or via the axis 'font' option.
211
+
212
+ A new plugin, jquery.flot.canvas.js, allows axis tick labels to be rendered
213
+ directly to the canvas, rather than using HTML elements. This feature can be
214
+ toggled with a simple option, making it easy to create interactive plots in the
215
+ browser using HTML, then re-render them to canvas for export as an image.
216
+
217
+ The plugin tries to remain as faithful as possible to the original HTML render,
218
+ and goes so far as to automatically extract styles from CSS, to avoid having to
219
+ provide a separate set of styles when rendering to canvas. Due to limitations
220
+ of the canvas text API, the plugin cannot reproduce certain features, including
221
+ HTML markup embedded in labels, and advanced text styles such as 'em' units.
222
+
223
+ The plugin requires support for canvas text, which may not be present in some
224
+ older browsers, even if they support the canvas tag itself. To use the plugin
225
+ with these browsers try using a shim such as canvas-text or FlashCanvas.
226
+
227
+ The base and overlay canvas are now using the CSS classes "flot-base" and
228
+ "flot-overlay" to prevent accidental clashes (issue 540).
229
+
230
+ ### Changes ###
231
+
232
+ - Addition of nonstandard %q specifier to date/time formatting. (patch
233
+ by risicle, issue 49)
234
+
235
+ - Date/time formatting follows proper subset of strftime specifiers, and
236
+ support added for Date.prototype.strftime, if found. (patch by Mark Cote,
237
+ issues 419 and 558)
238
+
239
+ - Fixed display of year ticks. (patch by Mark Cote, issue 195)
240
+
241
+ - Support for time series moved to plugin. (patch by Mark Cote)
242
+
243
+ - Display time series in different time zones. (patch by Knut Forkalsrud,
244
+ issue 141)
245
+
246
+ - Added a canvas plugin to enable rendering axis tick labels to the canvas.
247
+ (sponsored by YCharts.com, implementation by Ole Laursen and David Schnur)
248
+
249
+ - Support for setting the interval between redraws of the overlay canvas with
250
+ redrawOverlayInterval. (suggested in issue 185)
251
+
252
+ - Support for multiple thresholds in thresholds plugin. (patch by Arnaud
253
+ Bellec, issue 523)
254
+
255
+ - Support for plotting categories/textual data directly with new categories
256
+ plugin.
257
+
258
+ - Tick generators now get the whole axis rather than just min/max.
259
+
260
+ - Added processOffset and drawBackground hooks. (suggested in issue 639)
261
+
262
+ - Added a grid "margin" option to set the space between the canvas edge and
263
+ the grid.
264
+
265
+ - Prevent the pie example page from generating single-slice pies. (patch by
266
+ Shane Reustle)
267
+
268
+ - In addition to "left" and "center", bars now recognize "right" as an
269
+ alignment option. (patch by Michael Mayer, issue 520)
270
+
271
+ - Switched from toFixed to a much faster default tickFormatter. (patch by
272
+ Clemens Stolle)
273
+
274
+ - Added to a more helpful error when using a time-mode axis without including
275
+ the flot.time plugin. (patch by Yael Elmatad)
276
+
277
+ - Added a legend "sorted" option to control sorting of legend entries
278
+ independent of their series order. (patch by Tom Cleaveland)
279
+
280
+ - Added a series "highlightColor" option to control the color of the
281
+ translucent overlay that identifies the dataset when the mouse hovers over
282
+ it. (patch by Eric Wendelin and Nate Abele, issues 168 and 299)
283
+
284
+ - Added a plugin jquery.flot.errorbars, with an accompanying example, that
285
+ adds the ability to plot error bars, commonly used in many kinds of
286
+ statistical data visualizations. (patch by Rui Pereira, issue 215)
287
+
288
+ - The legend now omits entries whose labelFormatter returns null. (patch by
289
+ Tom Cleaveland, Christopher Lambert, and Simon Strandgaard)
290
+
291
+ - Added support for high pixel density (retina) displays, resulting in much
292
+ crisper charts on such devices. (patch by Olivier Guerriat, additional
293
+ fixes by Julien Thomas, maimairel, and Lau Bech Lauritzen)
294
+
295
+ - Added the ability to control pie shadow position and alpha via a new pie
296
+ 'shadow' option. (patch by Julien Thomas, pull request #78)
297
+
298
+ - Added the ability to set width and color for individual sides of the grid.
299
+ (patch by Ara Anjargolian, additional fixes by Karl Swedberg, pull requests #855
300
+ and #880)
301
+
302
+ - The selection plugin's getSelection now returns null when the selection
303
+ has been cleared. (patch by Nick Campbell, pull request #852)
304
+
305
+ - Added a new option called 'zero' to bars and filled lines series, to control
306
+ whether the y-axis minimum is scaled to fit the data or set to zero.
307
+ (patch by David Schnur, issues #316, #529, and #856, pull request #911)
308
+
309
+ - The plot function is now also a jQuery chainable property.
310
+ (patch by David Schnur, issues #734 and #816, pull request #953)
311
+
312
+ - When only a single pie slice is beneath the combine threshold it is no longer
313
+ replaced by an 'other' slice. (suggested by Devin Bayer, issue #638)
314
+
315
+ - Added lineJoin and minSize options to the selection plugin to control the
316
+ corner style and minimum size of the selection, respectively.
317
+ (patch by Ruth Linehan, pull request #963)
318
+
319
+ ### Bug fixes ###
320
+
321
+ - Fix problem with null values and pie plugin. (patch by gcruxifix,
322
+ issue 500)
323
+
324
+ - Fix problem with threshold plugin and bars. (based on patch by
325
+ kaarlenkaski, issue 348)
326
+
327
+ - Fix axis box calculations so the boxes include the outermost part of the
328
+ labels too.
329
+
330
+ - Fix problem with event clicking and hovering in IE 8 by updating Excanvas
331
+ and removing previous work-around. (test case by Ara Anjargolian)
332
+
333
+ - Fix issues with blurry 1px border when some measures aren't integer.
334
+ (reported by Ara Anjargolian)
335
+
336
+ - Fix bug with formats in the data processor. (reported by Peter Hull,
337
+ issue 534)
338
+
339
+ - Prevent i from being declared global in extractRange. (reported by
340
+ Alexander Obukhov, issue 627)
341
+
342
+ - Throw errors in a more cross-browser-compatible manner. (patch by
343
+ Eddie Kay)
344
+
345
+ - Prevent pie slice outlines from being drawn when the stroke width is zero.
346
+ (reported by Chris Minett, issue 585)
347
+
348
+ - Updated the navigate plugin's inline copy of jquery.mousewheel to fix
349
+ Webkit zoom problems. (reported by Hau Nguyen, issue 685)
350
+
351
+ - Axis labels no longer appear as decimals rather than integers in certain
352
+ cases. (patch by Clemens Stolle, issue 541)
353
+
354
+ - Automatic color generation no longer produces only whites and blacks when
355
+ there are many series. (patch by David Schnur and Tom Cleaveland)
356
+
357
+ - Fixed an error when custom tick labels weren't provided as strings. (patch
358
+ by Shad Downey)
359
+
360
+ - Prevented the local insertSteps and fmt variables from becoming global.
361
+ (first reported by Marc Bennewitz and Szymon Barglowski, patch by Nick
362
+ Campbell, issues #825 and #831, pull request #851)
363
+
364
+ - Prevented several threshold plugin variables from becoming global. (patch
365
+ by Lasse Dahl Ebert)
366
+
367
+ - Fixed various jQuery 1.8 compatibility issues. (issues #814 and #819,
368
+ pull request #877)
369
+
370
+ - Pie charts with a slice equal to or approaching 100% of the pie no longer
371
+ appear invisible. (patch by David Schnur, issues #444, #658, #726, #824
372
+ and #850, pull request #879)
373
+
374
+ - Prevented several local variables from becoming global. (patch by aaa707)
375
+
376
+ - Ensure that the overlay and primary canvases remain aligned. (issue #670,
377
+ pull request #901)
378
+
379
+ - Added support for jQuery 1.9 by removing and replacing uses of $.browser.
380
+ (analysis and patch by Anthony Ryan, pull request #905)
381
+
382
+ - Pie charts no longer disappear when redrawn during a resize or update.
383
+ (reported by Julien Bec, issue #656, pull request #910)
384
+
385
+ - Avoided floating-point precision errors when calculating pie percentages.
386
+ (patch by James Ward, pull request #918)
387
+
388
+ - Fixed compatibility with jQuery 1.2.6, which has no 'mouseleave' shortcut.
389
+ (reported by Bevan, original pull request #920, replaced by direct patch)
390
+
391
+ - Fixed sub-pixel rendering issues with crosshair and selection lines.
392
+ (patches by alanayoub and Daniel Shapiro, pull requests #17 and #925)
393
+
394
+ - Fixed rendering issues when using the threshold plugin with several series.
395
+ (patch by Ivan Novikov, pull request #934)
396
+
397
+ - Pie charts no longer disappear when redrawn after calling setData().
398
+ (reported by zengge1984 and pareeohnos, issues #810 and #945)
399
+
400
+ - Added a work-around for the problem where points with a lineWidth of zero
401
+ still showed up with a visible line. (reported by SalvoSav, issue #842,
402
+ patch by Jamie Hamel-Smith, pull request #937)
403
+
404
+ - Pie charts now accept values in string form, like other plot types.
405
+ (reported by laerdal.no, issue #534)
406
+
407
+ - Avoid rounding errors in the threshold plugin.
408
+ (reported by jerikojerk, issue #895)
409
+
410
+ - Fixed an error when using the navigate plugin with jQuery 1.9.x or later.
411
+ (reported by Paolo Valleri, issue #964)
412
+
413
+ - Fixed inconsistencies between the highlight and unhighlight functions.
414
+ (reported by djamshed, issue #987)
415
+
416
+ - Fixed recalculation of tickSize and tickDecimals on calls to setupGrid.
417
+ (patch by thecountofzero, pull request #861, issues #860, #1000)
418
+
419
+
420
+ ## Flot 0.7 ##
421
+
422
+ ### API changes ###
423
+
424
+ Multiple axes support. Code using dual axes should be changed from using
425
+ x2axis/y2axis in the options to using an array (although backwards-
426
+ compatibility hooks are in place). For instance,
427
+
428
+ ```js
429
+ {
430
+ xaxis: { ... }, x2axis: { ... },
431
+ yaxis: { ... }, y2axis: { ... }
432
+ }
433
+ ```
434
+
435
+ becomes
436
+
437
+ ```js
438
+ {
439
+ xaxes: [ { ... }, { ... } ],
440
+ yaxes: [ { ... }, { ... } ]
441
+ }
442
+ ```
443
+
444
+ Note that if you're just using one axis, continue to use the xaxis/yaxis
445
+ directly (it now sets the default settings for the arrays). Plugins touching
446
+ the axes must be ported to take the extra axes into account, check the source
447
+ to see some examples.
448
+
449
+ A related change is that the visibility of axes is now auto-detected. So if
450
+ you were relying on an axis to show up even without any data in the chart, you
451
+ now need to set the axis "show" option explicitly.
452
+
453
+ "tickColor" on the grid options is now deprecated in favour of a corresponding
454
+ option on the axes, so:
455
+
456
+ ```js
457
+ { grid: { tickColor: "#000" }}
458
+ ```
459
+
460
+ becomes
461
+
462
+ ```js
463
+ { xaxis: { tickColor: "#000"}, yaxis: { tickColor: "#000"} }
464
+ ```
465
+
466
+ But if you just configure a base color Flot will now autogenerate a tick color
467
+ by adding transparency. Backwards-compatibility hooks are in place.
468
+
469
+ Final note: now that IE 9 is coming out with canvas support, you may want to
470
+ adapt the excanvas include to skip loading it in IE 9 (the examples have been
471
+ adapted thanks to Ryley Breiddal). An alternative to excanvas using Flash has
472
+ also surfaced, if your graphs are slow in IE, you may want to give it a spin:
473
+
474
+ http://code.google.com/p/flashcanvas/
475
+
476
+ ### Changes ###
477
+
478
+ - Support for specifying a bottom for each point for line charts when filling
479
+ them, this means that an arbitrary bottom can be used instead of just the x
480
+ axis. (based on patches patiently provided by Roman V. Prikhodchenko)
481
+
482
+ - New fillbetween plugin that can compute a bottom for a series from another
483
+ series, useful for filling areas between lines.
484
+
485
+ See new example percentiles.html for a use case.
486
+
487
+ - More predictable handling of gaps for the stacking plugin, now all
488
+ undefined ranges are skipped.
489
+
490
+ - Stacking plugin can stack horizontal bar charts.
491
+
492
+ - Navigate plugin now redraws the plot while panning instead of only after
493
+ the fact. (raised by lastthemy, issue 235)
494
+
495
+ Can be disabled by setting the pan.frameRate option to null.
496
+
497
+ - Date formatter now accepts %0m and %0d to get a zero-padded month or day.
498
+ (issue raised by Maximillian Dornseif)
499
+
500
+ - Revamped internals to support an unlimited number of axes, not just dual.
501
+ (sponsored by Flight Data Services, www.flightdataservices.com)
502
+
503
+ - New setting on axes, "tickLength", to control the size of ticks or turn
504
+ them off without turning off the labels.
505
+
506
+ - Axis labels are now put in container divs with classes, for instance labels
507
+ in the x axes can be reached via ".xAxis .tickLabel".
508
+
509
+ - Support for setting the color of an axis. (sponsored by Flight Data
510
+ Services, www.flightdataservices.com)
511
+
512
+ - Tick color is now auto-generated as the base color with some transparency,
513
+ unless you override it.
514
+
515
+ - Support for aligning ticks in the axes with "alignTicksWithAxis" to ensure
516
+ that they appear next to each other rather than in between, at the expense
517
+ of possibly awkward tick steps. (sponsored by Flight Data Services,
518
+ www.flightdataservices.com)
519
+
520
+ - Support for customizing the point type through a callback when plotting
521
+ points and new symbol plugin with some predefined point types. (sponsored
522
+ by Utility Data Corporation)
523
+
524
+ - Resize plugin for automatically redrawing when the placeholder changes
525
+ size, e.g. on window resizes. (sponsored by Novus Partners)
526
+
527
+ A resize() method has been added to plot object facilitate this.
528
+
529
+ - Support Infinity/-Infinity for plotting asymptotes by hacking it into
530
+ +/-Number.MAX_VALUE. (reported by rabaea.mircea)
531
+
532
+ - Support for restricting navigate plugin to not pan/zoom an axis. (based on
533
+ patch by kkaefer)
534
+
535
+ - Support for providing the drag cursor for the navigate plugin as an option.
536
+ (based on patch by Kelly T. Moore)
537
+
538
+ - Options for controlling whether an axis is shown or not (suggestion by Timo
539
+ Tuominen) and whether to reserve space for it even if it isn't shown.
540
+
541
+ - New attribute $.plot.version with the Flot version as a string.
542
+
543
+ - The version comment is now included in the minified jquery.flot.min.js.
544
+
545
+ - New options.grid.minBorderMargin for adjusting the minimum margin provided
546
+ around the border (based on patch by corani, issue 188).
547
+
548
+ - Refactor replot behaviour so Flot tries to reuse the existing canvas,
549
+ adding shutdown() methods to the plot. (based on patch by Ryley Breiddal,
550
+ issue 269)
551
+
552
+ This prevents a memory leak in Chrome and hopefully makes replotting faster
553
+ for those who are using $.plot instead of .setData()/.draw(). Also update
554
+ jQuery to 1.5.1 to prevent IE leaks fixed in jQuery.
555
+
556
+ - New real-time line chart example.
557
+
558
+ - New hooks: drawSeries, shutdown.
559
+
560
+ ### Bug fixes ###
561
+
562
+ - Fixed problem with findNearbyItem and bars on top of each other. (reported
563
+ by ragingchikn, issue 242)
564
+
565
+ - Fixed problem with ticks and the border. (based on patch from
566
+ ultimatehustler69, issue 236)
567
+
568
+ - Fixed problem with plugins adding options to the series objects.
569
+
570
+ - Fixed a problem introduced in 0.6 with specifying a gradient with:
571
+
572
+ ```{brightness: x, opacity: y }```
573
+
574
+ - Don't use $.browser.msie, check for getContext on the created canvas element
575
+ instead and try to use excanvas if it's not found.
576
+
577
+ Fixes IE 9 compatibility.
578
+
579
+ - highlight(s, index) was looking up the point in the original s.data instead
580
+ of in the computed datapoints array, which breaks with plugins that modify
581
+ the datapoints, such as the stacking plugin. (reported by curlypaul924,
582
+ issue 316)
583
+
584
+ - More robust handling of axis from data passed in from getData(). (reported)
585
+ by Morgan)
586
+
587
+ - Fixed problem with turning off bar outline. (fix by Jordi Castells,
588
+ issue 253)
589
+
590
+ - Check the selection passed into setSelection in the selection
591
+ plugin, to guard against errors when synchronizing plots (fix by Lau
592
+ Bech Lauritzen).
593
+
594
+ - Fix bug in crosshair code with mouseout resetting the crosshair even
595
+ if it is locked (fix by Lau Bech Lauritzen and Banko Adam).
596
+
597
+ - Fix bug with points plotting using line width from lines rather than
598
+ points.
599
+
600
+ - Fix bug with passing non-array 0 data (for plugins that don't expect
601
+ arrays, patch by vpapp1).
602
+
603
+ - Fix errors in JSON in examples so they work with jQuery 1.4.2
604
+ (fix reported by honestbleeps, issue 357).
605
+
606
+ - Fix bug with tooltip in interacting.html, this makes the tooltip
607
+ much smoother (fix by bdkahn). Fix related bug inside highlighting
608
+ handler in Flot.
609
+
610
+ - Use closure trick to make inline colorhelpers plugin respect
611
+ jQuery.noConflict(true), renaming the global jQuery object (reported
612
+ by Nick Stielau).
613
+
614
+ - Listen for mouseleave events and fire a plothover event with empty
615
+ item when it occurs to drop highlights when the mouse leaves the
616
+ plot (reported by by outspirit).
617
+
618
+ - Fix bug with using aboveData with a background (reported by
619
+ amitayd).
620
+
621
+ - Fix possible excanvas leak (report and suggested fix by tom9729).
622
+
623
+ - Fix bug with backwards compatibility for shadowSize = 0 (report and
624
+ suggested fix by aspinak).
625
+
626
+ - Adapt examples to skip loading excanvas (fix by Ryley Breiddal).
627
+
628
+ - Fix bug that prevent a simple f(x) = -x transform from working
629
+ correctly (fix by Mike, issue 263).
630
+
631
+ - Fix bug in restoring cursor in navigate plugin (reported by Matteo
632
+ Gattanini, issue 395).
633
+
634
+ - Fix bug in picking items when transform/inverseTransform is in use
635
+ (reported by Ofri Raviv, and patches and analysis by Jan and Tom
636
+ Paton, issue 334 and 467).
637
+
638
+ - Fix problem with unaligned ticks and hover/click events caused by
639
+ padding on the placeholder by hardcoding the placeholder padding to
640
+ 0 (reported by adityadineshsaxena, Matt Sommer, Daniel Atos and some
641
+ other people, issue 301).
642
+
643
+ - Update colorhelpers plugin to avoid dying when trying to parse an
644
+ invalid string (reported by cadavor, issue 483).
645
+
646
+
647
+
648
+ ## Flot 0.6 ##
649
+
650
+ ### API changes ###
651
+
652
+ Selection support has been moved to a plugin. Thus if you're passing
653
+ selection: { mode: something }, you MUST include the file
654
+ jquery.flot.selection.js after jquery.flot.js. This reduces the size of
655
+ base Flot and makes it easier to customize the selection as well as
656
+ improving code clarity. The change is based on a patch from andershol.
657
+
658
+ In the global options specified in the $.plot command, "lines", "points",
659
+ "bars" and "shadowSize" have been moved to a sub-object called "series":
660
+
661
+ ```js
662
+ $.plot(placeholder, data, { lines: { show: true }})
663
+ ```
664
+
665
+ should be changed to
666
+
667
+ ```js
668
+ $.plot(placeholder, data, { series: { lines: { show: true }}})
669
+ ```
670
+
671
+ All future series-specific options will go into this sub-object to
672
+ simplify plugin writing. Backward-compatibility code is in place, so
673
+ old code should not break.
674
+
675
+ "plothover" no longer provides the original data point, but instead a
676
+ normalized one, since there may be no corresponding original point.
677
+
678
+ Due to a bug in previous versions of jQuery, you now need at least
679
+ jQuery 1.2.6. But if you can, try jQuery 1.3.2 as it got some improvements
680
+ in event handling speed.
681
+
682
+ ## Changes ##
683
+
684
+ - Added support for disabling interactivity for specific data series.
685
+ (request from Ronald Schouten and Steve Upton)
686
+
687
+ - Flot now calls $() on the placeholder and optional legend container passed
688
+ in so you can specify DOM elements or CSS expressions to make it easier to
689
+ use Flot with libraries like Prototype or Mootools or through raw JSON from
690
+ Ajax responses.
691
+
692
+ - A new "plotselecting" event is now emitted while the user is making a
693
+ selection.
694
+
695
+ - The "plothover" event is now emitted immediately instead of at most 10
696
+ times per second, you'll have to put in a setTimeout yourself if you're
697
+ doing something really expensive on this event.
698
+
699
+ - The built-in date formatter can now be accessed as $.plot.formatDate(...)
700
+ (suggestion by Matt Manela) and even replaced.
701
+
702
+ - Added "borderColor" option to the grid. (patches from Amaury Chamayou and
703
+ Mike R. Williamson)
704
+
705
+ - Added support for gradient backgrounds for the grid. (based on patch from
706
+ Amaury Chamayou, issue 90)
707
+
708
+ The "setting options" example provides a demonstration.
709
+
710
+ - Gradient bars. (suggestion by stefpet)
711
+
712
+ - Added a "plotunselected" event which is triggered when the selection is
713
+ removed, see "selection" example. (suggestion by Meda Ugo)
714
+
715
+ - The option legend.margin can now specify horizontal and vertical margins
716
+ independently. (suggestion by someone who's annoyed)
717
+
718
+ - Data passed into Flot is now copied to a new canonical format to enable
719
+ further processing before it hits the drawing routines. As a side-effect,
720
+ this should make Flot more robust in the face of bad data. (issue 112)
721
+
722
+ - Step-wise charting: line charts have a new option "steps" that when set to
723
+ true connects the points with horizontal/vertical steps instead of diagonal
724
+ lines.
725
+
726
+ - The legend labelFormatter now passes the series in addition to just the
727
+ label. (suggestion by Vincent Lemeltier)
728
+
729
+ - Horizontal bars (based on patch by Jason LeBrun).
730
+
731
+ - Support for partial bars by specifying a third coordinate, i.e. they don't
732
+ have to start from the axis. This can be used to make stacked bars.
733
+
734
+ - New option to disable the (grid.show).
735
+
736
+ - Added pointOffset method for converting a point in data space to an offset
737
+ within the placeholder.
738
+
739
+ - Plugin system: register an init method in the $.flot.plugins array to get
740
+ started, see PLUGINS.txt for details on how to write plugins (it's easy).
741
+ There are also some extra methods to enable access to internal state.
742
+
743
+ - Hooks: you can register functions that are called while Flot is crunching
744
+ the data and doing the plot. This can be used to modify Flot without
745
+ changing the source, useful for writing plugins. Some hooks are defined,
746
+ more are likely to come.
747
+
748
+ - Threshold plugin: you can set a threshold and a color, and the data points
749
+ below that threshold will then get the color. Useful for marking data
750
+ below 0, for instance.
751
+
752
+ - Stack plugin: you can specify a stack key for each series to have them
753
+ summed. This is useful for drawing additive/cumulative graphs with bars and
754
+ (currently unfilled) lines.
755
+
756
+ - Crosshairs plugin: trace the mouse position on the axes, enable with
757
+ crosshair: { mode: "x"} (see the new tracking example for a use).
758
+
759
+ - Image plugin: plot prerendered images.
760
+
761
+ - Navigation plugin for panning and zooming a plot.
762
+
763
+ - More configurable grid.
764
+
765
+ - Axis transformation support, useful for non-linear plots, e.g. log axes and
766
+ compressed time axes (like omitting weekends).
767
+
768
+ - Support for twelve-hour date formatting (patch by Forrest Aldridge).
769
+
770
+ - The color parsing code in Flot has been cleaned up and split out so it's
771
+ now available as a separate jQuery plugin. It's included inline in the Flot
772
+ source to make dependency managing easier. This also makes it really easy
773
+ to use the color helpers in Flot plugins.
774
+
775
+ ## Bug fixes ##
776
+
777
+ - Fixed two corner-case bugs when drawing filled curves. (report and analysis
778
+ by Joshua Varner)
779
+
780
+ - Fix auto-adjustment code when setting min to 0 for an axis where the
781
+ dataset is completely flat on that axis. (report by chovy)
782
+
783
+ - Fixed a bug with passing in data from getData to setData when the secondary
784
+ axes are used. (reported by nperelman, issue 65)
785
+
786
+ - Fixed so that it is possible to turn lines off when no other chart type is
787
+ shown (based on problem reported by Glenn Vanderburg), and fixed so that
788
+ setting lineWidth to 0 also hides the shadow. (based on problem reported by
789
+ Sergio Nunes)
790
+
791
+ - Updated mousemove position expression to the latest from jQuery. (reported
792
+ by meyuchas)
793
+
794
+ - Use CSS borders instead of background in legend. (issues 25 and 45)
795
+
796
+ - Explicitly convert axis min/max to numbers.
797
+
798
+ - Fixed a bug with drawing marking lines with different colors. (reported by
799
+ Khurram)
800
+
801
+ - Fixed a bug with returning y2 values in the selection event. (fix by
802
+ exists, issue 75)
803
+
804
+ - Only set position relative on placeholder if it hasn't already a position
805
+ different from static. (reported by kyberneticist, issue 95)
806
+
807
+ - Don't round markings to prevent sub-pixel problems. (reported by
808
+ Dan Lipsitt)
809
+
810
+ - Make the grid border act similarly to a regular CSS border, i.e. prevent
811
+ it from overlapping the plot itself. This also fixes a problem with anti-
812
+ aliasing when the width is 1 pixel. (reported by Anthony Ettinger)
813
+
814
+ - Imported version 3 of excanvas and fixed two issues with the newer version.
815
+ Hopefully, this will make Flot work with IE8. (nudge by Fabien Menager,
816
+ further analysis by Booink, issue 133)
817
+
818
+ - Changed the shadow code for lines to hopefully look a bit better with
819
+ vertical lines.
820
+
821
+ - Round tick positions to avoid possible problems with fractions. (suggestion
822
+ by Fred, issue 130)
823
+
824
+ - Made the heuristic for determining how many ticks to aim for a bit smarter.
825
+
826
+ - Fix for uneven axis margins (report and patch by Paul Kienzle) and snapping
827
+ to ticks. (report and patch by lifthrasiir)
828
+
829
+ - Fixed bug with slicing in findNearbyItems. (patch by zollman)
830
+
831
+ - Make heuristic for x axis label widths more dynamic. (patch by
832
+ rickinhethuis)
833
+
834
+ - Make sure points on top take precedence when finding nearby points when
835
+ hovering. (reported by didroe, issue 224)
836
+
837
+
838
+
839
+ ## Flot 0.5 ##
840
+
841
+ Timestamps are now in UTC. Also "selected" event -> becomes "plotselected"
842
+ with new data, the parameters for setSelection are now different (but
843
+ backwards compatibility hooks are in place), coloredAreas becomes markings
844
+ with a new interface (but backwards compatibility hooks are in place).
845
+
846
+ ### API changes ###
847
+
848
+ Timestamps in time mode are now displayed according to UTC instead of the time
849
+ zone of the visitor. This affects the way the timestamps should be input;
850
+ you'll probably have to offset the timestamps according to your local time
851
+ zone. It also affects any custom date handling code (which basically now
852
+ should use the equivalent UTC date mehods, e.g. .setUTCMonth() instead of
853
+ .setMonth().
854
+
855
+ Markings, previously coloredAreas, are now specified as ranges on the axes,
856
+ like ```{ xaxis: { from: 0, to: 10 }}```. Furthermore with markings you can
857
+ now draw horizontal/vertical lines by setting from and to to the same
858
+ coordinate. (idea from line support patch by by Ryan Funduk)
859
+
860
+ Interactivity: added a new "plothover" event and this and the "plotclick"
861
+ event now returns the closest data item (based on patch by /david, patch by
862
+ Mark Byers for bar support). See the revamped "interacting with the data"
863
+ example for some hints on what you can do.
864
+
865
+ Highlighting: you can now highlight points and datapoints are autohighlighted
866
+ when you hover over them (if hovering is turned on).
867
+
868
+ Support for dual axis has been added (based on patch by someone who's annoyed
869
+ and /david). For each data series you can specify which axes it belongs to,
870
+ and there are two more axes, x2axis and y2axis, to customize. This affects the
871
+ "selected" event which has been renamed to "plotselected" and spews out
872
+ ```{ xaxis: { from: -10, to: 20 } ... },``` setSelection in which the
873
+ parameters are on a new form (backwards compatible hooks are in place so old
874
+ code shouldn't break) and markings (formerly coloredAreas).
875
+
876
+ ## Changes ##
877
+
878
+ - Added support for specifying the size of tick labels (axis.labelWidth,
879
+ axis.labelHeight). Useful for specifying a max label size to keep multiple
880
+ plots aligned.
881
+
882
+ - The "fill" option can now be a number that specifies the opacity of the
883
+ fill.
884
+
885
+ - You can now specify a coordinate as null (like [2, null]) and Flot will
886
+ take the other coordinate into account when scaling the axes. (based on
887
+ patch by joebno)
888
+
889
+ - New option for bars "align". Set it to "center" to center the bars on the
890
+ value they represent.
891
+
892
+ - setSelection now takes a second parameter which you can use to prevent the
893
+ method from firing the "plotselected" handler.
894
+
895
+ - Improved the handling of axis auto-scaling with bars.
896
+
897
+ ## Bug fixes ##
898
+
899
+ - Fixed a bug in calculating spacing around the plot. (reported by
900
+ timothytoe)
901
+
902
+ - Fixed a bug in finding max values for all-negative data sets.
903
+
904
+ - Prevent the possibility of eternal looping in tick calculations.
905
+
906
+ - Fixed a bug when borderWidth is set to 0. (reported by Rob/sanchothefat)
907
+
908
+ - Fixed a bug with drawing bars extending below 0. (reported by James Hewitt,
909
+ patch by Ryan Funduk).
910
+
911
+ - Fixed a bug with line widths of bars. (reported by MikeM)
912
+
913
+ - Fixed a bug with 'nw' and 'sw' legend positions.
914
+
915
+ - Fixed a bug with multi-line x-axis tick labels. (reported by Luca Ciano,
916
+ IE-fix help by Savage Zhang)
917
+
918
+ - Using the "container" option in legend now overwrites the container element
919
+ instead of just appending to it, fixing the infinite legend bug. (reported
920
+ by several people, fix by Brad Dewey)
921
+
922
+
923
+
924
+ ## Flot 0.4 ##
925
+
926
+ ### API changes ###
927
+
928
+ Deprecated axis.noTicks in favor of just specifying the number as axis.ticks.
929
+ So ```xaxis: { noTicks: 10 }``` becomes ```xaxis: { ticks: 10 }```.
930
+
931
+ Time series support. Specify axis.mode: "time", put in Javascript timestamps
932
+ as data, and Flot will automatically spit out sensible ticks. Take a look at
933
+ the two new examples. The format can be customized with axis.timeformat and
934
+ axis.monthNames, or if that fails with axis.tickFormatter.
935
+
936
+ Support for colored background areas via grid.coloredAreas. Specify an array
937
+ of { x1, y1, x2, y2 } objects or a function that returns these given
938
+ { xmin, xmax, ymin, ymax }.
939
+
940
+ More members on the plot object (report by Chris Davies and others).
941
+ "getData" for inspecting the assigned settings on data series (e.g. color) and
942
+ "setData", "setupGrid" and "draw" for updating the contents without a total
943
+ replot.
944
+
945
+ The default number of ticks to aim for is now dependent on the size of the
946
+ plot in pixels. Support for customizing tick interval sizes directly with
947
+ axis.minTickSize and axis.tickSize.
948
+
949
+ Cleaned up the automatic axis scaling algorithm and fixed how it interacts
950
+ with ticks. Also fixed a couple of tick-related corner case bugs (one reported
951
+ by mainstreetmark, another reported by timothytoe).
952
+
953
+ The option axis.tickFormatter now takes a function with two parameters, the
954
+ second parameter is an optional object with information about the axis. It has
955
+ min, max, tickDecimals, tickSize.
956
+
957
+ ## Changes ##
958
+
959
+ - Added support for segmented lines. (based on patch from Michael MacDonald)
960
+
961
+ - Added support for ignoring null and bad values. (suggestion from Nick
962
+ Konidaris and joshwaihi)
963
+
964
+ - Added support for changing the border width. (thanks to joebno and safoo)
965
+
966
+ - Label colors can be changed via CSS by selecting the tickLabel class.
967
+
968
+ ## Bug fixes ##
969
+
970
+ - Fixed a bug in handling single-item bar series. (reported by Emil Filipov)
971
+
972
+ - Fixed erratic behaviour when interacting with the plot with IE 7. (reported
973
+ by Lau Bech Lauritzen).
974
+
975
+ - Prevent IE/Safari text selection when selecting stuff on the canvas.
976
+
977
+
978
+
979
+ ## Flot 0.3 ##
980
+
981
+ This is mostly a quick-fix release because jquery.js wasn't included in the
982
+ previous zip/tarball.
983
+
984
+ ## Changes ##
985
+
986
+ - Include jquery.js in the zip/tarball.
987
+
988
+ - Support clicking on the plot. Turn it on with grid: { clickable: true },
989
+ then you get a "plotclick" event on the graph placeholder with the position
990
+ in units of the plot.
991
+
992
+ ## Bug fixes ##
993
+
994
+ - Fixed a bug in dealing with data where min = max. (thanks to Michael
995
+ Messinides)
996
+
997
+
998
+
999
+ ## Flot 0.2 ##
1000
+
1001
+ The API should now be fully documented.
1002
+
1003
+ ### API changes ###
1004
+
1005
+ Moved labelMargin option to grid from x/yaxis.
1006
+
1007
+ ## Changes ##
1008
+
1009
+ - Added support for putting a background behind the default legend. The
1010
+ default is the partly transparent background color. Added backgroundColor
1011
+ and backgroundOpacity to the legend options to control this.
1012
+
1013
+ - The ticks options can now be a callback function that takes one parameter,
1014
+ an object with the attributes min and max. The function should return a
1015
+ ticks array.
1016
+
1017
+ - Added labelFormatter option in legend, useful for turning the legend
1018
+ labels into links.
1019
+
1020
+ - Reduced the size of the code. (patch by Guy Fraser)
1021
+
1022
+
1023
+
1024
+ ## Flot 0.1 ##
1025
+
1026
+ First public release.