logstash-lite 0.2.20101118134500
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/logstash +56 -0
- data/bin/logstash-web +6 -0
- data/etc/logstash-elasticsearch-rabbitmq-river.yaml +41 -0
- data/etc/logstash-mongodb-storage.yaml +5 -0
- data/etc/logstash-parser.yaml +20 -0
- data/etc/logstash-reader.yaml +8 -0
- data/etc/logstash-shipper.yaml +18 -0
- data/etc/logstash-standalone.yaml +47 -0
- data/etc/prod.yaml +38 -0
- data/etc/redhat/logstash +92 -0
- data/etc/redhat/logstash-agent +83 -0
- data/etc/redhat/logstash-agent.sysconfig +7 -0
- data/etc/redhat/logstash.spec +171 -0
- data/etc/redhat/logstash.sysconfig +18 -0
- data/etc/tograylog.yaml +37 -0
- data/examples/test.rb +38 -0
- data/lib/logstash.rb +3 -0
- data/lib/logstash/agent.rb +116 -0
- data/lib/logstash/event.rb +70 -0
- data/lib/logstash/filters.rb +17 -0
- data/lib/logstash/filters/base.rb +17 -0
- data/lib/logstash/filters/date.rb +59 -0
- data/lib/logstash/filters/field.rb +29 -0
- data/lib/logstash/filters/grok.rb +74 -0
- data/lib/logstash/filters/grokdiscovery.rb +60 -0
- data/lib/logstash/inputs.rb +18 -0
- data/lib/logstash/inputs/amqp.rb +48 -0
- data/lib/logstash/inputs/base.rb +32 -0
- data/lib/logstash/inputs/file.rb +47 -0
- data/lib/logstash/inputs/syslog.rb +123 -0
- data/lib/logstash/inputs/tcp.rb +51 -0
- data/lib/logstash/logging.rb +82 -0
- data/lib/logstash/namespace.rb +6 -0
- data/lib/logstash/outputs.rb +15 -0
- data/lib/logstash/outputs/amqp.rb +48 -0
- data/lib/logstash/outputs/base.rb +29 -0
- data/lib/logstash/outputs/elasticsearch.rb +71 -0
- data/lib/logstash/outputs/gelf.rb +35 -0
- data/lib/logstash/outputs/mongodb.rb +19 -0
- data/lib/logstash/outputs/stdout.rb +15 -0
- data/lib/logstash/outputs/websocket.rb +35 -0
- data/lib/logstash/time.rb +27 -0
- data/lib/logstash/web/lib/elasticsearch.rb +79 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/lib/logstash/web/public/css/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/logstash/web/public/css/smoothness/jquery-ui-1.8.5.custom.css +572 -0
- data/lib/logstash/web/public/js/flot/API.txt +1024 -0
- data/lib/logstash/web/public/js/flot/FAQ.txt +71 -0
- data/lib/logstash/web/public/js/flot/LICENSE.txt +22 -0
- data/lib/logstash/web/public/js/flot/Makefile +15 -0
- data/lib/logstash/web/public/js/flot/NEWS.txt +340 -0
- data/lib/logstash/web/public/js/flot/PLUGINS.txt +105 -0
- data/lib/logstash/web/public/js/flot/README.txt +81 -0
- data/lib/logstash/web/public/js/flot/examples/ajax.html +143 -0
- data/lib/logstash/web/public/js/flot/examples/annotating.html +75 -0
- data/lib/logstash/web/public/js/flot/examples/arrow-down.gif +0 -0
- data/lib/logstash/web/public/js/flot/examples/arrow-left.gif +0 -0
- data/lib/logstash/web/public/js/flot/examples/arrow-right.gif +0 -0
- data/lib/logstash/web/public/js/flot/examples/arrow-up.gif +0 -0
- data/lib/logstash/web/public/js/flot/examples/basic.html +38 -0
- data/lib/logstash/web/public/js/flot/examples/data-eu-gdp-growth-1.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/data-eu-gdp-growth-2.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/data-eu-gdp-growth-3.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/data-eu-gdp-growth-4.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/data-eu-gdp-growth-5.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/data-eu-gdp-growth.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/data-japan-gdp-growth.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/data-usa-gdp-growth.json +4 -0
- data/lib/logstash/web/public/js/flot/examples/dual-axis.html +39 -0
- data/lib/logstash/web/public/js/flot/examples/graph-types.html +75 -0
- data/lib/logstash/web/public/js/flot/examples/hs-2004-27-a-large_web.jpg +0 -0
- data/lib/logstash/web/public/js/flot/examples/image.html +45 -0
- data/lib/logstash/web/public/js/flot/examples/index.html +43 -0
- data/lib/logstash/web/public/js/flot/examples/interacting.html +93 -0
- data/lib/logstash/web/public/js/flot/examples/layout.css +6 -0
- data/lib/logstash/web/public/js/flot/examples/navigate.html +118 -0
- data/lib/logstash/web/public/js/flot/examples/selection.html +114 -0
- data/lib/logstash/web/public/js/flot/examples/setting-options.html +65 -0
- data/lib/logstash/web/public/js/flot/examples/stacking.html +77 -0
- data/lib/logstash/web/public/js/flot/examples/thresholding.html +54 -0
- data/lib/logstash/web/public/js/flot/examples/time.html +71 -0
- data/lib/logstash/web/public/js/flot/examples/tracking.html +95 -0
- data/lib/logstash/web/public/js/flot/examples/turning-series.html +98 -0
- data/lib/logstash/web/public/js/flot/examples/visitors.html +90 -0
- data/lib/logstash/web/public/js/flot/examples/zooming.html +98 -0
- data/lib/logstash/web/public/js/flot/excanvas.js +1427 -0
- data/lib/logstash/web/public/js/flot/excanvas.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.colorhelpers.js +174 -0
- data/lib/logstash/web/public/js/flot/jquery.colorhelpers.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.crosshair.js +156 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.crosshair.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.image.js +237 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.image.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.js +2119 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.navigate.js +272 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.navigate.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.selection.js +299 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.selection.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.stack.js +152 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.stack.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.threshold.js +103 -0
- data/lib/logstash/web/public/js/flot/jquery.flot.threshold.min.js +1 -0
- data/lib/logstash/web/public/js/flot/jquery.js +4376 -0
- data/lib/logstash/web/public/js/flot/jquery.min.js +19 -0
- data/lib/logstash/web/public/js/jquery-hashchange-1.0.0.js +121 -0
- data/lib/logstash/web/public/js/jquery.livequery.js +250 -0
- data/lib/logstash/web/public/js/jquery.tmpl.min.js +1 -0
- data/lib/logstash/web/public/js/logstash.js +202 -0
- data/lib/logstash/web/server.rb +90 -0
- data/lib/logstash/web/views/header.haml +8 -0
- data/lib/logstash/web/views/layout.haml +21 -0
- data/lib/logstash/web/views/main/index.haml +5 -0
- data/lib/logstash/web/views/search/ajax.haml +32 -0
- data/lib/logstash/web/views/search/results.haml +17 -0
- data/lib/logstash/web/views/style.sass +50 -0
- data/patterns/firewalls +2 -0
- data/patterns/grok-patterns +90 -0
- data/patterns/haproxy +5 -0
- data/patterns/linux-syslog +7 -0
- data/patterns/nagios +7 -0
- data/patterns/ruby +2 -0
- metadata +228 -0
@@ -0,0 +1,114 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
+
<title>Flot Examples</title>
|
6
|
+
<link href="layout.css" rel="stylesheet" type="text/css"></link>
|
7
|
+
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
|
8
|
+
<script language="javascript" type="text/javascript" src="../jquery.js"></script>
|
9
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
|
10
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.selection.js"></script>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<h1>Flot Examples</h1>
|
14
|
+
|
15
|
+
<div id="placeholder" style="width:600px;height:300px"></div>
|
16
|
+
|
17
|
+
<p>1000 kg. CO<sub>2</sub> emissions per year per capita for various countries (source: <a href="http://en.wikipedia.org/wiki/List_of_countries_by_carbon_dioxide_emissions_per_capita">Wikipedia</a>).</p>
|
18
|
+
|
19
|
+
<p>Flot supports selections through the selection plugin.
|
20
|
+
You can enable rectangular selection
|
21
|
+
or one-dimensional selection if the user should only be able to
|
22
|
+
select on one axis. Try left-click and drag on the plot above
|
23
|
+
where selection on the x axis is enabled.</p>
|
24
|
+
|
25
|
+
<p>You selected: <span id="selection"></span></p>
|
26
|
+
|
27
|
+
<p>The plot command returns a plot object you can use to control
|
28
|
+
the selection. Click the buttons below.</p>
|
29
|
+
|
30
|
+
<p><input id="clearSelection" type="button" value="Clear selection" />
|
31
|
+
<input id="setSelection" type="button" value="Select year 1994" /></p>
|
32
|
+
|
33
|
+
<p>Selections are really useful for zooming. Just replot the
|
34
|
+
chart with min and max values for the axes set to the values
|
35
|
+
in the "plotselected" event triggered. Enable the checkbox
|
36
|
+
below and select a region again.</p>
|
37
|
+
|
38
|
+
<p><input id="zoom" type="checkbox">Zoom to selection.</input></p>
|
39
|
+
|
40
|
+
<script id="source" language="javascript" type="text/javascript">
|
41
|
+
$(function () {
|
42
|
+
var data = [
|
43
|
+
{
|
44
|
+
label: "United States",
|
45
|
+
data: [[1990, 18.9], [1991, 18.7], [1992, 18.4], [1993, 19.3], [1994, 19.5], [1995, 19.3], [1996, 19.4], [1997, 20.2], [1998, 19.8], [1999, 19.9], [2000, 20.4], [2001, 20.1], [2002, 20.0], [2003, 19.8], [2004, 20.4]]
|
46
|
+
},
|
47
|
+
{
|
48
|
+
label: "Russia",
|
49
|
+
data: [[1992, 13.4], [1993, 12.2], [1994, 10.6], [1995, 10.2], [1996, 10.1], [1997, 9.7], [1998, 9.5], [1999, 9.7], [2000, 9.9], [2001, 9.9], [2002, 9.9], [2003, 10.3], [2004, 10.5]]
|
50
|
+
},
|
51
|
+
{
|
52
|
+
label: "United Kingdom",
|
53
|
+
data: [[1990, 10.0], [1991, 11.3], [1992, 9.9], [1993, 9.6], [1994, 9.5], [1995, 9.5], [1996, 9.9], [1997, 9.3], [1998, 9.2], [1999, 9.2], [2000, 9.5], [2001, 9.6], [2002, 9.3], [2003, 9.4], [2004, 9.79]]
|
54
|
+
},
|
55
|
+
{
|
56
|
+
label: "Germany",
|
57
|
+
data: [[1990, 12.4], [1991, 11.2], [1992, 10.8], [1993, 10.5], [1994, 10.4], [1995, 10.2], [1996, 10.5], [1997, 10.2], [1998, 10.1], [1999, 9.6], [2000, 9.7], [2001, 10.0], [2002, 9.7], [2003, 9.8], [2004, 9.79]]
|
58
|
+
},
|
59
|
+
{
|
60
|
+
label: "Denmark",
|
61
|
+
data: [[1990, 9.7], [1991, 12.1], [1992, 10.3], [1993, 11.3], [1994, 11.7], [1995, 10.6], [1996, 12.8], [1997, 10.8], [1998, 10.3], [1999, 9.4], [2000, 8.7], [2001, 9.0], [2002, 8.9], [2003, 10.1], [2004, 9.80]]
|
62
|
+
},
|
63
|
+
{
|
64
|
+
label: "Sweden",
|
65
|
+
data: [[1990, 5.8], [1991, 6.0], [1992, 5.9], [1993, 5.5], [1994, 5.7], [1995, 5.3], [1996, 6.1], [1997, 5.4], [1998, 5.4], [1999, 5.1], [2000, 5.2], [2001, 5.4], [2002, 6.2], [2003, 5.9], [2004, 5.89]]
|
66
|
+
},
|
67
|
+
{
|
68
|
+
label: "Norway",
|
69
|
+
data: [[1990, 8.3], [1991, 8.3], [1992, 7.8], [1993, 8.3], [1994, 8.4], [1995, 5.9], [1996, 6.4], [1997, 6.7], [1998, 6.9], [1999, 7.6], [2000, 7.4], [2001, 8.1], [2002, 12.5], [2003, 9.9], [2004, 19.0]]
|
70
|
+
}
|
71
|
+
];
|
72
|
+
|
73
|
+
var options = {
|
74
|
+
series: {
|
75
|
+
lines: { show: true },
|
76
|
+
points: { show: true }
|
77
|
+
},
|
78
|
+
legend: { noColumns: 2 },
|
79
|
+
xaxis: { tickDecimals: 0 },
|
80
|
+
yaxis: { min: 0 },
|
81
|
+
selection: { mode: "x" }
|
82
|
+
};
|
83
|
+
|
84
|
+
var placeholder = $("#placeholder");
|
85
|
+
|
86
|
+
placeholder.bind("plotselected", function (event, ranges) {
|
87
|
+
$("#selection").text(ranges.xaxis.from.toFixed(1) + " to " + ranges.xaxis.to.toFixed(1));
|
88
|
+
|
89
|
+
var zoom = $("#zoom").attr("checked");
|
90
|
+
if (zoom)
|
91
|
+
plot = $.plot(placeholder, data,
|
92
|
+
$.extend(true, {}, options, {
|
93
|
+
xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to }
|
94
|
+
}));
|
95
|
+
});
|
96
|
+
|
97
|
+
placeholder.bind("plotunselected", function (event) {
|
98
|
+
$("#selection").text("");
|
99
|
+
});
|
100
|
+
|
101
|
+
var plot = $.plot(placeholder, data, options);
|
102
|
+
|
103
|
+
$("#clearSelection").click(function () {
|
104
|
+
plot.clearSelection();
|
105
|
+
});
|
106
|
+
|
107
|
+
$("#setSelection").click(function () {
|
108
|
+
plot.setSelection({ x1: 1994, x2: 1995 });
|
109
|
+
});
|
110
|
+
});
|
111
|
+
</script>
|
112
|
+
|
113
|
+
</body>
|
114
|
+
</html>
|
@@ -0,0 +1,65 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
+
<title>Flot Examples</title>
|
6
|
+
<link href="layout.css" rel="stylesheet" type="text/css"></link>
|
7
|
+
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
|
8
|
+
<script language="javascript" type="text/javascript" src="../jquery.js"></script>
|
9
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Flot Examples</h1>
|
13
|
+
|
14
|
+
<div id="placeholder" style="width:600px;height:300px"></div>
|
15
|
+
|
16
|
+
<p>There are plenty of options you can set to control the precise
|
17
|
+
looks of your plot. You can control the axes, the legend, the
|
18
|
+
default graph type, the look of grid, etc.</p>
|
19
|
+
|
20
|
+
<p>The idea is that Flot goes to great lengths to provide <b>sensible
|
21
|
+
defaults</b> which you can then customize as needed for your
|
22
|
+
particular application. If you've found a use case where the
|
23
|
+
defaults can be improved, please don't hesitate to give your
|
24
|
+
feedback.</p>
|
25
|
+
|
26
|
+
<script id="source" language="javascript" type="text/javascript">
|
27
|
+
$(function () {
|
28
|
+
var d1 = [];
|
29
|
+
for (var i = 0; i < Math.PI * 2; i += 0.25)
|
30
|
+
d1.push([i, Math.sin(i)]);
|
31
|
+
|
32
|
+
var d2 = [];
|
33
|
+
for (var i = 0; i < Math.PI * 2; i += 0.25)
|
34
|
+
d2.push([i, Math.cos(i)]);
|
35
|
+
|
36
|
+
var d3 = [];
|
37
|
+
for (var i = 0; i < Math.PI * 2; i += 0.1)
|
38
|
+
d3.push([i, Math.tan(i)]);
|
39
|
+
|
40
|
+
$.plot($("#placeholder"), [
|
41
|
+
{ label: "sin(x)", data: d1},
|
42
|
+
{ label: "cos(x)", data: d2},
|
43
|
+
{ label: "tan(x)", data: d3}
|
44
|
+
], {
|
45
|
+
series: {
|
46
|
+
lines: { show: true },
|
47
|
+
points: { show: true }
|
48
|
+
},
|
49
|
+
xaxis: {
|
50
|
+
ticks: [0, [Math.PI/2, "\u03c0/2"], [Math.PI, "\u03c0"], [Math.PI * 3/2, "3\u03c0/2"], [Math.PI * 2, "2\u03c0"]]
|
51
|
+
},
|
52
|
+
yaxis: {
|
53
|
+
ticks: 10,
|
54
|
+
min: -2,
|
55
|
+
max: 2
|
56
|
+
},
|
57
|
+
grid: {
|
58
|
+
backgroundColor: { colors: ["#fff", "#eee"] }
|
59
|
+
}
|
60
|
+
});
|
61
|
+
});
|
62
|
+
</script>
|
63
|
+
|
64
|
+
</body>
|
65
|
+
</html>
|
@@ -0,0 +1,77 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
+
<title>Flot Examples</title>
|
6
|
+
<link href="layout.css" rel="stylesheet" type="text/css"></link>
|
7
|
+
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
|
8
|
+
<script language="javascript" type="text/javascript" src="../jquery.js"></script>
|
9
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
|
10
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.stack.js"></script>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<h1>Flot Examples</h1>
|
14
|
+
|
15
|
+
<div id="placeholder" style="width:600px;height:300px;"></div>
|
16
|
+
|
17
|
+
<p>With the stack plugin, you can have Flot stack the
|
18
|
+
series. This is useful if you wish to display both a total and the
|
19
|
+
constituents it is made of. The only requirement is that you provide
|
20
|
+
the input sorted on x.</p>
|
21
|
+
|
22
|
+
<p class="stackControls">
|
23
|
+
<input type="button" value="With stacking">
|
24
|
+
<input type="button" value="Without stacking">
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<p class="graphControls">
|
28
|
+
<input type="button" value="Bars">
|
29
|
+
<input type="button" value="Lines">
|
30
|
+
<input type="button" value="Lines with steps">
|
31
|
+
</p>
|
32
|
+
|
33
|
+
<script id="source">
|
34
|
+
$(function () {
|
35
|
+
var d1 = [];
|
36
|
+
for (var i = 0; i <= 10; i += 1)
|
37
|
+
d1.push([i, parseInt(Math.random() * 30)]);
|
38
|
+
|
39
|
+
var d2 = [];
|
40
|
+
for (var i = 0; i <= 10; i += 1)
|
41
|
+
d2.push([i, parseInt(Math.random() * 30)]);
|
42
|
+
|
43
|
+
var d3 = [];
|
44
|
+
for (var i = 0; i <= 10; i += 1)
|
45
|
+
d3.push([i, parseInt(Math.random() * 30)]);
|
46
|
+
|
47
|
+
var stack = 0, bars = true, lines = false, steps = false;
|
48
|
+
|
49
|
+
function plotWithOptions() {
|
50
|
+
$.plot($("#placeholder"), [ d1, d2, d3 ], {
|
51
|
+
series: {
|
52
|
+
stack: stack,
|
53
|
+
lines: { show: lines, steps: steps },
|
54
|
+
bars: { show: bars, barWidth: 0.6 }
|
55
|
+
}
|
56
|
+
});
|
57
|
+
}
|
58
|
+
|
59
|
+
plotWithOptions();
|
60
|
+
|
61
|
+
$(".stackControls input").click(function (e) {
|
62
|
+
e.preventDefault();
|
63
|
+
stack = $(this).val() == "With stacking" ? true : null;
|
64
|
+
plotWithOptions();
|
65
|
+
});
|
66
|
+
$(".graphControls input").click(function (e) {
|
67
|
+
e.preventDefault();
|
68
|
+
bars = $(this).val().indexOf("Bars") != -1;
|
69
|
+
lines = $(this).val().indexOf("Lines") != -1;
|
70
|
+
steps = $(this).val().indexOf("steps") != -1;
|
71
|
+
plotWithOptions();
|
72
|
+
});
|
73
|
+
});
|
74
|
+
</script>
|
75
|
+
|
76
|
+
</body>
|
77
|
+
</html>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
+
<title>Flot Examples</title>
|
6
|
+
<link href="layout.css" rel="stylesheet" type="text/css"></link>
|
7
|
+
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
|
8
|
+
<script language="javascript" type="text/javascript" src="../jquery.js"></script>
|
9
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
|
10
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.threshold.js"></script>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<h1>Flot Examples</h1>
|
14
|
+
|
15
|
+
<div id="placeholder" style="width:600px;height:300px;"></div>
|
16
|
+
|
17
|
+
<p>With the threshold plugin, you can apply a specific color to
|
18
|
+
the part of a data series below a threshold. This is can be useful
|
19
|
+
for highlighting negative values, e.g. when displaying net results
|
20
|
+
or what's in stock.</p>
|
21
|
+
|
22
|
+
<p class="controls">
|
23
|
+
<input type="button" value="Threshold at 5">
|
24
|
+
<input type="button" value="Threshold at 0">
|
25
|
+
<input type="button" value="Threshold at -2.5">
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<script id="source" language="javascript" type="text/javascript">
|
29
|
+
$(function () {
|
30
|
+
var d1 = [];
|
31
|
+
for (var i = 0; i <= 60; i += 1)
|
32
|
+
d1.push([i, parseInt(Math.random() * 30 - 10)]);
|
33
|
+
|
34
|
+
function plotWithOptions(t) {
|
35
|
+
$.plot($("#placeholder"), [ {
|
36
|
+
data: d1,
|
37
|
+
color: "rgb(30, 180, 20)",
|
38
|
+
threshold: { below: t, color: "rgb(200, 20, 30)" },
|
39
|
+
lines: { steps: true }
|
40
|
+
} ]);
|
41
|
+
}
|
42
|
+
|
43
|
+
plotWithOptions(0);
|
44
|
+
|
45
|
+
$(".controls input").click(function (e) {
|
46
|
+
e.preventDefault();
|
47
|
+
var t = parseFloat($(this).val().replace('Threshold at ', ''));
|
48
|
+
plotWithOptions(t);
|
49
|
+
});
|
50
|
+
});
|
51
|
+
</script>
|
52
|
+
|
53
|
+
</body>
|
54
|
+
</html>
|
@@ -0,0 +1,71 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
+
<title>Flot Examples</title>
|
6
|
+
<link href="layout.css" rel="stylesheet" type="text/css"></link>
|
7
|
+
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
|
8
|
+
<script language="javascript" type="text/javascript" src="../jquery.js"></script>
|
9
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Flot Examples</h1>
|
13
|
+
|
14
|
+
<div id="placeholder" style="width:600px;height:300px;"></div>
|
15
|
+
|
16
|
+
<p>Monthly mean atmospheric CO<sub>2</sub> in PPM at Mauna Loa, Hawaii (source: <a href="http://www.esrl.noaa.gov/gmd/ccgg/trends/">NOAA/ESRL</a>).</p>
|
17
|
+
|
18
|
+
<p>If you tell Flot that an axis represents time, the data will
|
19
|
+
be interpreted as timestamps and the ticks adjusted and
|
20
|
+
formatted accordingly.</p>
|
21
|
+
|
22
|
+
<p>Zoom to: <button id="whole">Whole period</button>
|
23
|
+
<button id="nineties">1990-2000</button>
|
24
|
+
<button id="ninetynine">1999</button></p>
|
25
|
+
|
26
|
+
<p>The timestamps must be specified as Javascript timestamps, as
|
27
|
+
milliseconds since January 1, 1970 00:00. This is like Unix
|
28
|
+
timestamps, but in milliseconds instead of seconds (remember to
|
29
|
+
multiply with 1000!).</p>
|
30
|
+
|
31
|
+
<p>As an extra caveat, the timestamps are interpreted according to
|
32
|
+
UTC to avoid having the graph shift with each visitor's local
|
33
|
+
time zone. So you might have to add your local time zone offset
|
34
|
+
to the timestamps or simply pretend that the data was produced
|
35
|
+
in UTC instead of your local time zone.</p>
|
36
|
+
|
37
|
+
<script id="source">
|
38
|
+
$(function () {
|
39
|
+
var d = [[-373597200000, 315.71], [-370918800000, 317.45], [-368326800000, 317.50], [-363056400000, 315.86], [-360378000000, 314.93], [-357699600000, 313.19], [-352429200000, 313.34], [-349837200000, 314.67], [-347158800000, 315.58], [-344480400000, 316.47], [-342061200000, 316.65], [-339382800000, 317.71], [-336790800000, 318.29], [-334112400000, 318.16], [-331520400000, 316.55], [-328842000000, 314.80], [-326163600000, 313.84], [-323571600000, 313.34], [-320893200000, 314.81], [-318301200000, 315.59], [-315622800000, 316.43], [-312944400000, 316.97], [-310438800000, 317.58], [-307760400000, 319.03], [-305168400000, 320.03], [-302490000000, 319.59], [-299898000000, 318.18], [-297219600000, 315.91], [-294541200000, 314.16], [-291949200000, 313.83], [-289270800000, 315.00], [-286678800000, 316.19], [-284000400000, 316.89], [-281322000000, 317.70], [-278902800000, 318.54], [-276224400000, 319.48], [-273632400000, 320.58], [-270954000000, 319.78], [-268362000000, 318.58], [-265683600000, 316.79], [-263005200000, 314.99], [-260413200000, 315.31], [-257734800000, 316.10], [-255142800000, 317.01], [-252464400000, 317.94], [-249786000000, 318.56], [-247366800000, 319.69], [-244688400000, 320.58], [-242096400000, 321.01], [-239418000000, 320.61], [-236826000000, 319.61], [-234147600000, 317.40], [-231469200000, 316.26], [-228877200000, 315.42], [-226198800000, 316.69], [-223606800000, 317.69], [-220928400000, 318.74], [-218250000000, 319.08], [-215830800000, 319.86], [-213152400000, 321.39], [-210560400000, 322.24], [-207882000000, 321.47], [-205290000000, 319.74], [-202611600000, 317.77], [-199933200000, 316.21], [-197341200000, 315.99], [-194662800000, 317.07], [-192070800000, 318.36], [-189392400000, 319.57], [-178938000000, 322.23], [-176259600000, 321.89], [-173667600000, 320.44], [-170989200000, 318.70], [-168310800000, 316.70], [-165718800000, 316.87], [-163040400000, 317.68], [-160448400000, 318.71], [-157770000000, 319.44], [-155091600000, 320.44], [-152672400000, 320.89], [-149994000000, 322.13], [-147402000000, 322.16], [-144723600000, 321.87], [-142131600000, 321.21], [-139453200000, 318.87], [-136774800000, 317.81], [-134182800000, 317.30], [-131504400000, 318.87], [-128912400000, 319.42], [-126234000000, 320.62], [-123555600000, 321.59], [-121136400000, 322.39], [-118458000000, 323.70], [-115866000000, 324.07], [-113187600000, 323.75], [-110595600000, 322.40], [-107917200000, 320.37], [-105238800000, 318.64], [-102646800000, 318.10], [-99968400000, 319.79], [-97376400000, 321.03], [-94698000000, 322.33], [-92019600000, 322.50], [-89600400000, 323.04], [-86922000000, 324.42], [-84330000000, 325.00], [-81651600000, 324.09], [-79059600000, 322.55], [-76381200000, 320.92], [-73702800000, 319.26], [-71110800000, 319.39], [-68432400000, 320.72], [-65840400000, 321.96], [-63162000000, 322.57], [-60483600000, 323.15], [-57978000000, 323.89], [-55299600000, 325.02], [-52707600000, 325.57], [-50029200000, 325.36], [-47437200000, 324.14], [-44758800000, 322.11], [-42080400000, 320.33], [-39488400000, 320.25], [-36810000000, 321.32], [-34218000000, 322.90], [-31539600000, 324.00], [-28861200000, 324.42], [-26442000000, 325.64], [-23763600000, 326.66], [-21171600000, 327.38], [-18493200000, 326.70], [-15901200000, 325.89], [-13222800000, 323.67], [-10544400000, 322.38], [-7952400000, 321.78], [-5274000000, 322.85], [-2682000000, 324.12], [-3600000, 325.06], [2674800000, 325.98], [5094000000, 326.93], [7772400000, 328.13], [10364400000, 328.07], [13042800000, 327.66], [15634800000, 326.35], [18313200000, 324.69], [20991600000, 323.10], [23583600000, 323.07], [26262000000, 324.01], [28854000000, 325.13], [31532400000, 326.17], [34210800000, 326.68], [36630000000, 327.18], [39308400000, 327.78], [41900400000, 328.92], [44578800000, 328.57], [47170800000, 327.37], [49849200000, 325.43], [52527600000, 323.36], [55119600000, 323.56], [57798000000, 324.80], [60390000000, 326.01], [63068400000, 326.77], [65746800000, 327.63], [68252400000, 327.75], [70930800000, 329.72], [73522800000, 330.07], [76201200000, 329.09], [78793200000, 328.05], [81471600000, 326.32], [84150000000, 324.84], [86742000000, 325.20], [89420400000, 326.50], [92012400000, 327.55], [94690800000, 328.54], [97369200000, 329.56], [99788400000, 330.30], [102466800000, 331.50], [105058800000, 332.48], [107737200000, 332.07], [110329200000, 330.87], [113007600000, 329.31], [115686000000, 327.51], [118278000000, 327.18], [120956400000, 328.16], [123548400000, 328.64], [126226800000, 329.35], [128905200000, 330.71], [131324400000, 331.48], [134002800000, 332.65], [136594800000, 333.16], [139273200000, 332.06], [141865200000, 330.99], [144543600000, 329.17], [147222000000, 327.41], [149814000000, 327.20], [152492400000, 328.33], [155084400000, 329.50], [157762800000, 330.68], [160441200000, 331.41], [162860400000, 331.85], [165538800000, 333.29], [168130800000, 333.91], [170809200000, 333.40], [173401200000, 331.78], [176079600000, 329.88], [178758000000, 328.57], [181350000000, 328.46], [184028400000, 329.26], [189298800000, 331.71], [191977200000, 332.76], [194482800000, 333.48], [197161200000, 334.78], [199753200000, 334.78], [202431600000, 334.17], [205023600000, 332.78], [207702000000, 330.64], [210380400000, 328.95], [212972400000, 328.77], [215650800000, 330.23], [218242800000, 331.69], [220921200000, 332.70], [223599600000, 333.24], [226018800000, 334.96], [228697200000, 336.04], [231289200000, 336.82], [233967600000, 336.13], [236559600000, 334.73], [239238000000, 332.52], [241916400000, 331.19], [244508400000, 331.19], [247186800000, 332.35], [249778800000, 333.47], [252457200000, 335.11], [255135600000, 335.26], [257554800000, 336.60], [260233200000, 337.77], [262825200000, 338.00], [265503600000, 337.99], [268095600000, 336.48], [270774000000, 334.37], [273452400000, 332.27], [276044400000, 332.41], [278722800000, 333.76], [281314800000, 334.83], [283993200000, 336.21], [286671600000, 336.64], [289090800000, 338.12], [291769200000, 339.02], [294361200000, 339.02], [297039600000, 339.20], [299631600000, 337.58], [302310000000, 335.55], [304988400000, 333.89], [307580400000, 334.14], [310258800000, 335.26], [312850800000, 336.71], [315529200000, 337.81], [318207600000, 338.29], [320713200000, 340.04], [323391600000, 340.86], [325980000000, 341.47], [328658400000, 341.26], [331250400000, 339.29], [333928800000, 337.60], [336607200000, 336.12], [339202800000, 336.08], [341881200000, 337.22], [344473200000, 338.34], [347151600000, 339.36], [349830000000, 340.51], [352249200000, 341.57], [354924000000, 342.56], [357516000000, 343.01], [360194400000, 342.47], [362786400000, 340.71], [365464800000, 338.52], [368143200000, 336.96], [370738800000, 337.13], [373417200000, 338.58], [376009200000, 339.89], [378687600000, 340.93], [381366000000, 341.69], [383785200000, 342.69], [389052000000, 344.30], [391730400000, 343.43], [394322400000, 341.88], [397000800000, 339.89], [399679200000, 337.95], [402274800000, 338.10], [404953200000, 339.27], [407545200000, 340.67], [410223600000, 341.42], [412902000000, 342.68], [415321200000, 343.46], [417996000000, 345.10], [420588000000, 345.76], [423266400000, 345.36], [425858400000, 343.91], [428536800000, 342.05], [431215200000, 340.00], [433810800000, 340.12], [436489200000, 341.33], [439081200000, 342.94], [441759600000, 343.87], [444438000000, 344.60], [446943600000, 345.20], [452210400000, 347.36], [454888800000, 346.74], [457480800000, 345.41], [460159200000, 343.01], [462837600000, 341.23], [465433200000, 341.52], [468111600000, 342.86], [470703600000, 344.41], [473382000000, 345.09], [476060400000, 345.89], [478479600000, 347.49], [481154400000, 348.00], [483746400000, 348.75], [486424800000, 348.19], [489016800000, 346.54], [491695200000, 344.63], [494373600000, 343.03], [496969200000, 342.92], [499647600000, 344.24], [502239600000, 345.62], [504918000000, 346.43], [507596400000, 346.94], [510015600000, 347.88], [512690400000, 349.57], [515282400000, 350.35], [517960800000, 349.72], [520552800000, 347.78], [523231200000, 345.86], [525909600000, 344.84], [528505200000, 344.32], [531183600000, 345.67], [533775600000, 346.88], [536454000000, 348.19], [539132400000, 348.55], [541551600000, 349.52], [544226400000, 351.12], [546818400000, 351.84], [549496800000, 351.49], [552088800000, 349.82], [554767200000, 347.63], [557445600000, 346.38], [560041200000, 346.49], [562719600000, 347.75], [565311600000, 349.03], [567990000000, 350.20], [570668400000, 351.61], [573174000000, 352.22], [575848800000, 353.53], [578440800000, 354.14], [581119200000, 353.62], [583711200000, 352.53], [586389600000, 350.41], [589068000000, 348.84], [591663600000, 348.94], [594342000000, 350.04], [596934000000, 351.29], [599612400000, 352.72], [602290800000, 353.10], [604710000000, 353.65], [607384800000, 355.43], [609976800000, 355.70], [612655200000, 355.11], [615247200000, 353.79], [617925600000, 351.42], [620604000000, 349.81], [623199600000, 350.11], [625878000000, 351.26], [628470000000, 352.63], [631148400000, 353.64], [633826800000, 354.72], [636246000000, 355.49], [638920800000, 356.09], [641512800000, 357.08], [644191200000, 356.11], [646783200000, 354.70], [649461600000, 352.68], [652140000000, 351.05], [654735600000, 351.36], [657414000000, 352.81], [660006000000, 354.22], [662684400000, 354.85], [665362800000, 355.66], [667782000000, 357.04], [670456800000, 358.40], [673048800000, 359.00], [675727200000, 357.99], [678319200000, 356.00], [680997600000, 353.78], [683676000000, 352.20], [686271600000, 352.22], [688950000000, 353.70], [691542000000, 354.98], [694220400000, 356.09], [696898800000, 356.85], [699404400000, 357.73], [702079200000, 358.91], [704671200000, 359.45], [707349600000, 359.19], [709941600000, 356.72], [712620000000, 354.79], [715298400000, 352.79], [717894000000, 353.20], [720572400000, 354.15], [723164400000, 355.39], [725842800000, 356.77], [728521200000, 357.17], [730940400000, 358.26], [733615200000, 359.16], [736207200000, 360.07], [738885600000, 359.41], [741477600000, 357.44], [744156000000, 355.30], [746834400000, 353.87], [749430000000, 354.04], [752108400000, 355.27], [754700400000, 356.70], [757378800000, 358.00], [760057200000, 358.81], [762476400000, 359.68], [765151200000, 361.13], [767743200000, 361.48], [770421600000, 360.60], [773013600000, 359.20], [775692000000, 357.23], [778370400000, 355.42], [780966000000, 355.89], [783644400000, 357.41], [786236400000, 358.74], [788914800000, 359.73], [791593200000, 360.61], [794012400000, 361.58], [796687200000, 363.05], [799279200000, 363.62], [801957600000, 363.03], [804549600000, 361.55], [807228000000, 358.94], [809906400000, 357.93], [812502000000, 357.80], [815180400000, 359.22], [817772400000, 360.44], [820450800000, 361.83], [823129200000, 362.95], [825634800000, 363.91], [828309600000, 364.28], [830901600000, 364.94], [833580000000, 364.70], [836172000000, 363.31], [838850400000, 361.15], [841528800000, 359.40], [844120800000, 359.34], [846802800000, 360.62], [849394800000, 361.96], [852073200000, 362.81], [854751600000, 363.87], [857170800000, 364.25], [859845600000, 366.02], [862437600000, 366.46], [865116000000, 365.32], [867708000000, 364.07], [870386400000, 361.95], [873064800000, 360.06], [875656800000, 360.49], [878338800000, 362.19], [880930800000, 364.12], [883609200000, 364.99], [886287600000, 365.82], [888706800000, 366.95], [891381600000, 368.42], [893973600000, 369.33], [896652000000, 368.78], [899244000000, 367.59], [901922400000, 365.84], [904600800000, 363.83], [907192800000, 364.18], [909874800000, 365.34], [912466800000, 366.93], [915145200000, 367.94], [917823600000, 368.82], [920242800000, 369.46], [922917600000, 370.77], [925509600000, 370.66], [928188000000, 370.10], [930780000000, 369.08], [933458400000, 366.66], [936136800000, 364.60], [938728800000, 365.17], [941410800000, 366.51], [944002800000, 367.89], [946681200000, 369.04], [949359600000, 369.35], [951865200000, 370.38], [954540000000, 371.63], [957132000000, 371.32], [959810400000, 371.53], [962402400000, 369.75], [965080800000, 368.23], [967759200000, 366.87], [970351200000, 366.94], [973033200000, 368.27], [975625200000, 369.64], [978303600000, 370.46], [980982000000, 371.44], [983401200000, 372.37], [986076000000, 373.33], [988668000000, 373.77], [991346400000, 373.09], [993938400000, 371.51], [996616800000, 369.55], [999295200000, 368.12], [1001887200000, 368.38], [1004569200000, 369.66], [1007161200000, 371.11], [1009839600000, 372.36], [1012518000000, 373.09], [1014937200000, 373.81], [1017612000000, 374.93], [1020204000000, 375.58], [1022882400000, 375.44], [1025474400000, 373.86], [1028152800000, 371.77], [1030831200000, 370.73], [1033423200000, 370.50], [1036105200000, 372.18], [1038697200000, 373.70], [1041375600000, 374.92], [1044054000000, 375.62], [1046473200000, 376.51], [1049148000000, 377.75], [1051740000000, 378.54], [1054418400000, 378.20], [1057010400000, 376.68], [1059688800000, 374.43], [1062367200000, 373.11], [1064959200000, 373.10], [1067641200000, 374.77], [1070233200000, 375.97], [1072911600000, 377.03], [1075590000000, 377.87], [1078095600000, 378.88], [1080770400000, 380.42], [1083362400000, 380.62], [1086040800000, 379.70], [1088632800000, 377.43], [1091311200000, 376.32], [1093989600000, 374.19], [1096581600000, 374.47], [1099263600000, 376.15], [1101855600000, 377.51], [1104534000000, 378.43], [1107212400000, 379.70], [1109631600000, 380.92], [1112306400000, 382.18], [1114898400000, 382.45], [1117576800000, 382.14], [1120168800000, 380.60], [1122847200000, 378.64], [1125525600000, 376.73], [1128117600000, 376.84], [1130799600000, 378.29], [1133391600000, 380.06], [1136070000000, 381.40], [1138748400000, 382.20], [1141167600000, 382.66], [1143842400000, 384.69], [1146434400000, 384.94], [1149112800000, 384.01], [1151704800000, 382.14], [1154383200000, 380.31], [1157061600000, 378.81], [1159653600000, 379.03], [1162335600000, 380.17], [1164927600000, 381.85], [1167606000000, 382.94], [1170284400000, 383.86], [1172703600000, 384.49], [1175378400000, 386.37], [1177970400000, 386.54], [1180648800000, 385.98], [1183240800000, 384.36], [1185919200000, 381.85], [1188597600000, 380.74], [1191189600000, 381.15], [1193871600000, 382.38], [1196463600000, 383.94], [1199142000000, 385.44]];
|
40
|
+
|
41
|
+
$.plot($("#placeholder"), [d], { xaxis: { mode: "time" } });
|
42
|
+
|
43
|
+
$("#whole").click(function () {
|
44
|
+
$.plot($("#placeholder"), [d], { xaxis: { mode: "time" } });
|
45
|
+
});
|
46
|
+
|
47
|
+
$("#nineties").click(function () {
|
48
|
+
$.plot($("#placeholder"), [d], {
|
49
|
+
xaxis: {
|
50
|
+
mode: "time",
|
51
|
+
min: (new Date("1990/01/01")).getTime(),
|
52
|
+
max: (new Date("2000/01/01")).getTime()
|
53
|
+
}
|
54
|
+
});
|
55
|
+
});
|
56
|
+
|
57
|
+
$("#ninetynine").click(function () {
|
58
|
+
$.plot($("#placeholder"), [d], {
|
59
|
+
xaxis: {
|
60
|
+
mode: "time",
|
61
|
+
minTickSize: [1, "month"],
|
62
|
+
min: (new Date("1999/01/01")).getTime(),
|
63
|
+
max: (new Date("2000/01/01")).getTime()
|
64
|
+
}
|
65
|
+
});
|
66
|
+
});
|
67
|
+
});
|
68
|
+
</script>
|
69
|
+
|
70
|
+
</body>
|
71
|
+
</html>
|
@@ -0,0 +1,95 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
+
<title>Flot Examples</title>
|
6
|
+
<link href="layout.css" rel="stylesheet" type="text/css"></link>
|
7
|
+
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
|
8
|
+
<script language="javascript" type="text/javascript" src="../jquery.js"></script>
|
9
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
|
10
|
+
<script language="javascript" type="text/javascript" src="../jquery.flot.crosshair.js"></script>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<h1>Flot Examples</h1>
|
14
|
+
|
15
|
+
<div id="placeholder" style="width:600px;height:300px"></div>
|
16
|
+
|
17
|
+
<p>You can add crosshairs that'll track the mouse position, either
|
18
|
+
on both axes or as here on only one.</p>
|
19
|
+
|
20
|
+
<p>If you combine it with listening on hover events, you can use
|
21
|
+
it to track the intersection on the curves by interpolating
|
22
|
+
the data points (look at the legend).</p>
|
23
|
+
|
24
|
+
<p id="hoverdata"></p>
|
25
|
+
|
26
|
+
<script id="source" language="javascript" type="text/javascript">
|
27
|
+
var plot;
|
28
|
+
$(function () {
|
29
|
+
var sin = [], cos = [];
|
30
|
+
for (var i = 0; i < 14; i += 0.1) {
|
31
|
+
sin.push([i, Math.sin(i)]);
|
32
|
+
cos.push([i, Math.cos(i)]);
|
33
|
+
}
|
34
|
+
|
35
|
+
plot = $.plot($("#placeholder"),
|
36
|
+
[ { data: sin, label: "sin(x) = -0.00"},
|
37
|
+
{ data: cos, label: "cos(x) = -0.00" } ], {
|
38
|
+
series: {
|
39
|
+
lines: { show: true }
|
40
|
+
},
|
41
|
+
crosshair: { mode: "x" },
|
42
|
+
grid: { hoverable: true, autoHighlight: false },
|
43
|
+
yaxis: { min: -1.2, max: 1.2 }
|
44
|
+
});
|
45
|
+
var legends = $("#placeholder .legendLabel");
|
46
|
+
legends.each(function () {
|
47
|
+
// fix the widths so they don't jump around
|
48
|
+
$(this).css('width', $(this).width());
|
49
|
+
});
|
50
|
+
|
51
|
+
var updateLegendTimeout = null;
|
52
|
+
var latestPosition = null;
|
53
|
+
|
54
|
+
function updateLegend() {
|
55
|
+
updateLegendTimeout = null;
|
56
|
+
|
57
|
+
var pos = latestPosition;
|
58
|
+
|
59
|
+
var axes = plot.getAxes();
|
60
|
+
if (pos.x < axes.xaxis.min || pos.x > axes.xaxis.max ||
|
61
|
+
pos.y < axes.yaxis.min || pos.y > axes.yaxis.max)
|
62
|
+
return;
|
63
|
+
|
64
|
+
var i, j, dataset = plot.getData();
|
65
|
+
for (i = 0; i < dataset.length; ++i) {
|
66
|
+
var series = dataset[i];
|
67
|
+
|
68
|
+
// find the nearest points, x-wise
|
69
|
+
for (j = 0; j < series.data.length; ++j)
|
70
|
+
if (series.data[j][0] > pos.x)
|
71
|
+
break;
|
72
|
+
|
73
|
+
// now interpolate
|
74
|
+
var y, p1 = series.data[j - 1], p2 = series.data[j];
|
75
|
+
if (p1 == null)
|
76
|
+
y = p2[1];
|
77
|
+
else if (p2 == null)
|
78
|
+
y = p1[1];
|
79
|
+
else
|
80
|
+
y = p1[1] + (p2[1] - p1[1]) * (pos.x - p1[0]) / (p2[0] - p1[0]);
|
81
|
+
|
82
|
+
legends.eq(i).text(series.label.replace(/=.*/, "= " + y.toFixed(2)));
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
$("#placeholder").bind("plothover", function (event, pos, item) {
|
87
|
+
latestPosition = pos;
|
88
|
+
if (!updateLegendTimeout)
|
89
|
+
updateLegendTimeout = setTimeout(updateLegend, 50);
|
90
|
+
});
|
91
|
+
});
|
92
|
+
</script>
|
93
|
+
|
94
|
+
</body>
|
95
|
+
</html>
|