提交 | 用户 | 时间
|
58d006
|
1 |
# Flot [![Build status](https://travis-ci.org/flot/flot.png)](https://travis-ci.org/flot/flot) |
A |
2 |
|
|
3 |
## About ## |
|
4 |
|
|
5 |
Flot is a Javascript plotting library for jQuery. |
|
6 |
Read more at the website: <http://www.flotcharts.org/> |
|
7 |
|
|
8 |
Take a look at the the examples in examples/index.html; they should give a good |
|
9 |
impression of what Flot can do, and the source code of the examples is probably |
|
10 |
the fastest way to learn how to use Flot. |
|
11 |
|
|
12 |
|
|
13 |
## Installation ## |
|
14 |
|
|
15 |
Just include the Javascript file after you've included jQuery. |
|
16 |
|
|
17 |
Generally, all browsers that support the HTML5 canvas tag are |
|
18 |
supported. |
|
19 |
|
|
20 |
For support for Internet Explorer < 9, you can use [Excanvas] |
|
21 |
[excanvas], a canvas emulator; this is used in the examples bundled |
|
22 |
with Flot. You just include the excanvas script like this: |
|
23 |
|
|
24 |
```html |
|
25 |
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="excanvas.min.js"></script><![endif]--> |
|
26 |
``` |
|
27 |
|
|
28 |
If it's not working on your development IE 6.0, check that it has |
|
29 |
support for VML which Excanvas is relying on. It appears that some |
|
30 |
stripped down versions used for test environments on virtual machines |
|
31 |
lack the VML support. |
|
32 |
|
|
33 |
You can also try using [Flashcanvas][flashcanvas], which uses Flash to |
|
34 |
do the emulation. Although Flash can be a bit slower to load than VML, |
|
35 |
if you've got a lot of points, the Flash version can be much faster |
|
36 |
overall. Flot contains some wrapper code for activating Excanvas which |
|
37 |
Flashcanvas is compatible with. |
|
38 |
|
|
39 |
You need at least jQuery 1.2.6, but try at least 1.3.2 for interactive |
|
40 |
charts because of performance improvements in event handling. |
|
41 |
|
|
42 |
|
|
43 |
## Basic usage ## |
|
44 |
|
|
45 |
Create a placeholder div to put the graph in: |
|
46 |
|
|
47 |
```html |
|
48 |
<div id="placeholder"></div> |
|
49 |
``` |
|
50 |
|
|
51 |
You need to set the width and height of this div, otherwise the plot |
|
52 |
library doesn't know how to scale the graph. You can do it inline like |
|
53 |
this: |
|
54 |
|
|
55 |
```html |
|
56 |
<div id="placeholder" style="width:600px;height:300px"></div> |
|
57 |
``` |
|
58 |
|
|
59 |
You can also do it with an external stylesheet. Make sure that the |
|
60 |
placeholder isn't within something with a display:none CSS property - |
|
61 |
in that case, Flot has trouble measuring label dimensions which |
|
62 |
results in garbled looks and might have trouble measuring the |
|
63 |
placeholder dimensions which is fatal (it'll throw an exception). |
|
64 |
|
|
65 |
Then when the div is ready in the DOM, which is usually on document |
|
66 |
ready, run the plot function: |
|
67 |
|
|
68 |
```js |
|
69 |
$.plot($("#placeholder"), data, options); |
|
70 |
``` |
|
71 |
|
|
72 |
Here, data is an array of data series and options is an object with |
|
73 |
settings if you want to customize the plot. Take a look at the |
|
74 |
examples for some ideas of what to put in or look at the |
|
75 |
[API reference](API.md). Here's a quick example that'll draw a line |
|
76 |
from (0, 0) to (1, 1): |
|
77 |
|
|
78 |
```js |
|
79 |
$.plot($("#placeholder"), [ [[0, 0], [1, 1]] ], { yaxis: { max: 1 } }); |
|
80 |
``` |
|
81 |
|
|
82 |
The plot function immediately draws the chart and then returns a plot |
|
83 |
object with a couple of methods. |
|
84 |
|
|
85 |
|
|
86 |
## What's with the name? ## |
|
87 |
|
|
88 |
First: it's pronounced with a short o, like "plot". Not like "flawed". |
|
89 |
|
|
90 |
So "Flot" rhymes with "plot". |
|
91 |
|
|
92 |
And if you look up "flot" in a Danish-to-English dictionary, some of |
|
93 |
the words that come up are "good-looking", "attractive", "stylish", |
|
94 |
"smart", "impressive", "extravagant". One of the main goals with Flot |
|
95 |
is pretty looks. |
|
96 |
|
|
97 |
|
|
98 |
## Notes about the examples ## |
|
99 |
|
|
100 |
In order to have a useful, functional example of time-series plots using time |
|
101 |
zones, date.js from [timezone-js][timezone-js] (released under the Apache 2.0 |
|
102 |
license) and the [Olson][olson] time zone database (released to the public |
|
103 |
domain) have been included in the examples directory. They are used in |
|
104 |
examples/axes-time-zones/index.html. |
|
105 |
|
|
106 |
|
|
107 |
[excanvas]: http://code.google.com/p/explorercanvas/ |
|
108 |
[flashcanvas]: http://code.google.com/p/flashcanvas/ |
|
109 |
[timezone-js]: https://github.com/mde/timezone-js |
|
110 |
[olson]: ftp://ftp.iana.org/tz/ |