Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
F
flot
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
HS-public
flot
Commits
c98c3108
Commit
c98c3108
authored
Dec 01, 2012
by
David Schnur
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #889 from dnschnur/code-fixes
Fixed global variables and missing seimcolons.
parents
359db6d2
8b996405
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
274 additions
and
229 deletions
+274
-229
jquery.flot.crosshair.js
jquery.flot.crosshair.js
+2
-2
jquery.flot.fillbetween.js
jquery.flot.fillbetween.js
+223
-180
jquery.flot.image.js
jquery.flot.image.js
+1
-1
jquery.flot.js
jquery.flot.js
+2
-2
jquery.flot.navigate.js
jquery.flot.navigate.js
+4
-4
jquery.flot.pie.js
jquery.flot.pie.js
+39
-37
jquery.flot.stack.js
jquery.flot.stack.js
+1
-1
jquery.flot.symbol.js
jquery.flot.symbol.js
+1
-1
jquery.flot.threshold.js
jquery.flot.threshold.js
+1
-1
No files found.
jquery.flot.crosshair.js
View file @
c98c3108
...
@@ -84,11 +84,11 @@ The plugin also adds four public methods:
...
@@ -84,11 +84,11 @@ The plugin also adds four public methods:
if
(
pos
)
if
(
pos
)
plot
.
setCrosshair
(
pos
);
plot
.
setCrosshair
(
pos
);
crosshair
.
locked
=
true
;
crosshair
.
locked
=
true
;
}
}
;
plot
.
unlockCrosshair
=
function
unlockCrosshair
()
{
plot
.
unlockCrosshair
=
function
unlockCrosshair
()
{
crosshair
.
locked
=
false
;
crosshair
.
locked
=
false
;
}
}
;
function
onMouseOut
(
e
)
{
function
onMouseOut
(
e
)
{
if
(
crosshair
.
locked
)
if
(
crosshair
.
locked
)
...
...
jquery.flot.fillbetween.js
View file @
c98c3108
/*
/* Flot plugin for computing bottoms for filled line and bar charts.
Flot plugin for computing bottoms for filled line and bar charts.
The case: you've got two series that you want to fill the area
Copyright (c) 2007-2012 IOLA and Ole Laursen.
between. In Flot terms, you need to use one as the fill bottom of the
Licensed under the MIT license.
other. You can specify the bottom of each data point as the third
coordinate manually, or you can use this plugin to compute it for you.
In order to name the other series, you need to give it an id, like this
The case: you've got two series that you want to fill the area between. In Flot
terms, you need to use one as the fill bottom of the other. You can specify the
bottom of each data point as the third coordinate manually, or you can use this
plugin to compute it for you.
In order to name the other series, you need to give it an id, like this:
var dataset = [
var dataset = [
{ data: [ ... ], id: "foo" } , // use default bottom
{ data: [ ... ], id: "foo" } , // use default bottom
...
@@ -15,50 +17,59 @@ In order to name the other series, you need to give it an id, like this
...
@@ -15,50 +17,59 @@ In order to name the other series, you need to give it an id, like this
$.plot($("#placeholder"), dataset, { lines: { show: true, fill: true }});
$.plot($("#placeholder"), dataset, { lines: { show: true, fill: true }});
As a convenience, if the id given is a number that doesn't appear as
As a convenience, if the id given is a number that doesn't appear as an id in
an id in the series, it is interpreted as the index in the array
the series, it is interpreted as the index in the array instead (so fillBetween:
instead (so fillBetween: 0 can also mean the first series).
0 can also mean the first series).
Internally, the plugin modifies the datapoints in each series. For line series,
extra data points might be inserted through interpolation. Note that at points
where the bottom line is not defined (due to a null point or start/end of line),
the current line will show a gap too. The algorithm comes from the
jquery.flot.stack.js plugin, possibly some code could be shared.
Internally, the plugin modifies the datapoints in each series. For
line series, extra data points might be inserted through
interpolation. Note that at points where the bottom line is not
defined (due to a null point or start/end of line), the current line
will show a gap too. The algorithm comes from the jquery.flot.stack.js
plugin, possibly some code could be shared.
*/
*/
(
function
(
$
)
{
(
function
(
$
)
{
var
options
=
{
var
options
=
{
series
:
{
fillBetween
:
null
}
// or number
series
:
{
fillBetween
:
null
// or number
}
};
};
function
init
(
plot
)
{
function
init
(
plot
)
{
function
findBottomSeries
(
s
,
allseries
)
{
function
findBottomSeries
(
s
,
allseries
)
{
var
i
;
var
i
;
for
(
i
=
0
;
i
<
allseries
.
length
;
++
i
)
{
if
(
allseries
[
i
].
id
==
s
.
fillBetween
)
return
allseries
[
i
];
}
if
(
typeof
s
.
fillBetween
==
"number"
)
{
for
(
i
=
0
;
i
<
allseries
.
length
;
++
i
)
{
i
=
s
.
fillBetween
;
if
(
allseries
[
i
].
id
===
s
.
fillBetween
)
{
return
allseries
[
i
];
}
}
if
(
i
<
0
||
i
>=
allseries
.
length
)
if
(
typeof
s
.
fillBetween
===
"number"
)
{
if
(
s
.
fillBetween
<
0
||
s
.
fillBetween
>=
allseries
.
length
)
{
return
null
;
return
null
;
}
return
allseries
[
i
];
return
allseries
[
s
.
fillBetween
];
}
}
return
null
;
return
null
;
}
}
function
computeFillBottoms
(
plot
,
s
,
datapoints
)
{
function
computeFillBottoms
(
plot
,
s
,
datapoints
)
{
if
(
s
.
fillBetween
==
null
)
if
(
s
.
fillBetween
==
null
)
{
return
;
return
;
}
var
other
=
findBottomSeries
(
s
,
plot
.
getData
()
);
var
other
=
findBottomSeries
(
s
,
plot
.
getData
());
if
(
!
other
)
{
if
(
!
other
)
return
;
return
;
}
var
ps
=
datapoints
.
pointsize
,
var
ps
=
datapoints
.
pointsize
,
points
=
datapoints
.
points
,
points
=
datapoints
.
points
,
...
@@ -70,81 +81,109 @@ plugin, possibly some code could be shared.
...
@@ -70,81 +81,109 @@ plugin, possibly some code could be shared.
withbottom
=
ps
>
2
&&
datapoints
.
format
[
2
].
y
,
withbottom
=
ps
>
2
&&
datapoints
.
format
[
2
].
y
,
withsteps
=
withlines
&&
s
.
lines
.
steps
,
withsteps
=
withlines
&&
s
.
lines
.
steps
,
fromgap
=
true
,
fromgap
=
true
,
i
=
0
,
j
=
0
,
l
;
i
=
0
,
j
=
0
,
l
,
m
;
while
(
true
)
{
while
(
true
)
{
if
(
i
>=
points
.
length
)
{
if
(
i
>=
points
.
length
)
break
;
break
;
}
l
=
newpoints
.
length
;
l
=
newpoints
.
length
;
if
(
points
[
i
]
==
null
)
{
if
(
points
[
i
]
==
null
)
{
// copy gaps
// copy gaps
for
(
m
=
0
;
m
<
ps
;
++
m
)
newpoints
.
push
(
points
[
i
+
m
]);
for
(
m
=
0
;
m
<
ps
;
++
m
)
{
i
+=
ps
;
newpoints
.
push
(
points
[
i
+
m
]
)
;
}
}
else
if
(
j
>=
otherpoints
.
length
)
{
i
+=
ps
;
}
else
if
(
j
>=
otherpoints
.
length
)
{
// for lines, we can't use the rest of the points
// for lines, we can't use the rest of the points
if
(
!
withlines
)
{
for
(
m
=
0
;
m
<
ps
;
++
m
)
if
(
!
withlines
)
{
newpoints
.
push
(
points
[
i
+
m
]);
for
(
m
=
0
;
m
<
ps
;
++
m
)
{
newpoints
.
push
(
points
[
i
+
m
]
);
}
}
i
+=
ps
;
}
}
else
if
(
otherpoints
[
j
]
==
null
)
{
i
+=
ps
;
}
else
if
(
otherpoints
[
j
]
==
null
)
{
// oops, got a gap
// oops, got a gap
for
(
m
=
0
;
m
<
ps
;
++
m
)
newpoints
.
push
(
null
);
for
(
m
=
0
;
m
<
ps
;
++
m
)
{
newpoints
.
push
(
null
);
}
fromgap
=
true
;
fromgap
=
true
;
j
+=
otherps
;
j
+=
otherps
;
}
else
{
}
else
{
// cases where we actually got two points
// cases where we actually got two points
px
=
points
[
i
];
py
=
points
[
i
+
1
];
px
=
points
[
i
];
qx
=
otherpoints
[
j
];
py
=
points
[
i
+
1
];
qy
=
otherpoints
[
j
+
1
];
qx
=
otherpoints
[
j
];
qy
=
otherpoints
[
j
+
1
];
bottom
=
0
;
bottom
=
0
;
if
(
px
==
qx
)
{
if
(
px
===
qx
)
{
for
(
m
=
0
;
m
<
ps
;
++
m
)
newpoints
.
push
(
points
[
i
+
m
]);
for
(
m
=
0
;
m
<
ps
;
++
m
)
{
newpoints
.
push
(
points
[
i
+
m
]
);
}
//newpoints[l + 1
] += qy;
//newpoints[ l + 1
] += qy;
bottom
=
qy
;
bottom
=
qy
;
i
+=
ps
;
i
+=
ps
;
j
+=
otherps
;
j
+=
otherps
;
}
else
if
(
px
>
qx
)
{
}
else
if
(
px
>
qx
)
{
// we got past point below, might need to
// we got past point below, might need to
// insert interpolated extra point
// insert interpolated extra point
if
(
withlines
&&
i
>
0
&&
points
[
i
-
ps
]
!=
null
)
{
intery
=
py
+
(
points
[
i
-
ps
+
1
]
-
py
)
*
(
qx
-
px
)
/
(
points
[
i
-
ps
]
-
px
);
if
(
withlines
&&
i
>
0
&&
points
[
i
-
ps
]
!=
null
)
{
newpoints
.
push
(
qx
);
intery
=
py
+
(
points
[
i
-
ps
+
1
]
-
py
)
*
(
qx
-
px
)
/
(
points
[
i
-
ps
]
-
px
);
newpoints
.
push
(
intery
)
newpoints
.
push
(
qx
);
for
(
m
=
2
;
m
<
ps
;
++
m
)
newpoints
.
push
(
intery
);
newpoints
.
push
(
points
[
i
+
m
]);
for
(
m
=
2
;
m
<
ps
;
++
m
)
{
newpoints
.
push
(
points
[
i
+
m
]
);
}
bottom
=
qy
;
bottom
=
qy
;
}
}
j
+=
otherps
;
j
+=
otherps
;
}
else
{
// px < qx
}
else
{
// px < qx
if
(
fromgap
&&
withlines
)
{
// if we come from a gap, we just skip this point
// if we come from a gap, we just skip this point
if
(
fromgap
&&
withlines
)
{
i
+=
ps
;
i
+=
ps
;
continue
;
continue
;
}
}
for
(
m
=
0
;
m
<
ps
;
++
m
)
for
(
m
=
0
;
m
<
ps
;
++
m
)
{
newpoints
.
push
(
points
[
i
+
m
]);
newpoints
.
push
(
points
[
i
+
m
]
);
}
// we might be able to interpolate a point below,
// we might be able to interpolate a point below,
// this can give us a better y
// this can give us a better y
if
(
withlines
&&
j
>
0
&&
otherpoints
[
j
-
otherps
]
!=
null
)
bottom
=
qy
+
(
otherpoints
[
j
-
otherps
+
1
]
-
qy
)
*
(
px
-
qx
)
/
(
otherpoints
[
j
-
otherps
]
-
qx
);
if
(
withlines
&&
j
>
0
&&
otherpoints
[
j
-
otherps
]
!=
null
)
{
bottom
=
qy
+
(
otherpoints
[
j
-
otherps
+
1
]
-
qy
)
*
(
px
-
qx
)
/
(
otherpoints
[
j
-
otherps
]
-
qx
);
}
//newpoints[l + 1] += bottom;
//newpoints[l + 1] += bottom;
...
@@ -153,31 +192,35 @@ plugin, possibly some code could be shared.
...
@@ -153,31 +192,35 @@ plugin, possibly some code could be shared.
fromgap
=
false
;
fromgap
=
false
;
if
(
l
!=
newpoints
.
length
&&
withbottom
)
if
(
l
!==
newpoints
.
length
&&
withbottom
)
{
newpoints
[
l
+
2
]
=
bottom
;
newpoints
[
l
+
2
]
=
bottom
;
}
}
}
// maintain the line steps invariant
// maintain the line steps invariant
if
(
withsteps
&&
l
!=
newpoints
.
length
&&
l
>
0
&&
newpoints
[
l
]
!=
null
if
(
withsteps
&&
l
!==
newpoints
.
length
&&
l
>
0
&&
&&
newpoints
[
l
]
!=
newpoints
[
l
-
ps
]
newpoints
[
l
]
!==
null
&&
&&
newpoints
[
l
+
1
]
!=
newpoints
[
l
-
ps
+
1
])
{
newpoints
[
l
]
!==
newpoints
[
l
-
ps
]
&&
for
(
m
=
0
;
m
<
ps
;
++
m
)
newpoints
[
l
+
1
]
!==
newpoints
[
l
-
ps
+
1
]
)
{
newpoints
[
l
+
ps
+
m
]
=
newpoints
[
l
+
m
];
for
(
m
=
0
;
m
<
ps
;
++
m
)
{
newpoints
[
l
+
1
]
=
newpoints
[
l
-
ps
+
1
];
newpoints
[
l
+
ps
+
m
]
=
newpoints
[
l
+
m
];
}
newpoints
[
l
+
1
]
=
newpoints
[
l
-
ps
+
1
];
}
}
}
}
datapoints
.
points
=
newpoints
;
datapoints
.
points
=
newpoints
;
}
}
plot
.
hooks
.
processDatapoints
.
push
(
computeFillBottoms
);
plot
.
hooks
.
processDatapoints
.
push
(
computeFillBottoms
);
}
}
$
.
plot
.
plugins
.
push
({
$
.
plot
.
plugins
.
push
({
init
:
init
,
init
:
init
,
options
:
options
,
options
:
options
,
name
:
'fillbetween'
,
name
:
"fillbetween"
,
version
:
'1.0'
version
:
"1.0"
});
});
})(
jQuery
);
})(
jQuery
);
jquery.flot.image.js
View file @
c98c3108
...
@@ -110,7 +110,7 @@ images (like Google Maps).
...
@@ -110,7 +110,7 @@ images (like Google Maps).
$
(
'<img />'
).
load
(
handler
).
error
(
handler
).
attr
(
'src'
,
url
);
$
(
'<img />'
).
load
(
handler
).
error
(
handler
).
attr
(
'src'
,
url
);
});
});
}
}
;
function
drawSeries
(
plot
,
ctx
,
series
)
{
function
drawSeries
(
plot
,
ctx
,
series
)
{
var
plotOffset
=
plot
.
getPlotOffset
();
var
plotOffset
=
plot
.
getPlotOffset
();
...
...
jquery.flot.js
View file @
c98c3108
...
@@ -2293,7 +2293,7 @@
...
@@ -2293,7 +2293,7 @@
for
(
var
i
=
0
;
i
<
entries
.
length
;
++
i
)
{
for
(
var
i
=
0
;
i
<
entries
.
length
;
++
i
)
{
entry
=
entries
[
i
];
var
entry
=
entries
[
i
];
if
(
i
%
options
.
legend
.
noColumns
==
0
)
{
if
(
i
%
options
.
legend
.
noColumns
==
0
)
{
if
(
rowStarted
)
if
(
rowStarted
)
...
@@ -2584,7 +2584,7 @@
...
@@ -2584,7 +2584,7 @@
function
drawPointHighlight
(
series
,
point
)
{
function
drawPointHighlight
(
series
,
point
)
{
var
x
=
point
[
0
],
y
=
point
[
1
],
var
x
=
point
[
0
],
y
=
point
[
1
],
axisx
=
series
.
xaxis
,
axisy
=
series
.
yaxis
;
axisx
=
series
.
xaxis
,
axisy
=
series
.
yaxis
,
highlightColor
=
(
typeof
series
.
highlightColor
===
"string"
)
?
series
.
highlightColor
:
$
.
color
.
parse
(
series
.
color
).
scale
(
'a'
,
0.5
).
toString
();
highlightColor
=
(
typeof
series
.
highlightColor
===
"string"
)
?
series
.
highlightColor
:
$
.
color
.
parse
(
series
.
color
).
scale
(
'a'
,
0.5
).
toString
();
if
(
x
<
axisx
.
min
||
x
>
axisx
.
max
||
y
<
axisy
.
min
||
y
>
axisy
.
max
)
if
(
x
<
axisx
.
min
||
x
>
axisx
.
max
||
y
<
axisy
.
min
||
y
>
axisy
.
max
)
...
...
jquery.flot.navigate.js
View file @
c98c3108
...
@@ -200,11 +200,11 @@ Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-L
...
@@ -200,11 +200,11 @@ Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-L
args
=
{};
args
=
{};
if
(
!
args
.
amount
)
if
(
!
args
.
amount
)
args
.
amount
=
plot
.
getOptions
().
zoom
.
amount
args
.
amount
=
plot
.
getOptions
().
zoom
.
amount
;
args
.
amount
=
1
/
args
.
amount
;
args
.
amount
=
1
/
args
.
amount
;
plot
.
zoom
(
args
);
plot
.
zoom
(
args
);
}
}
;
plot
.
zoom
=
function
(
args
)
{
plot
.
zoom
=
function
(
args
)
{
if
(
!
args
)
if
(
!
args
)
...
@@ -274,7 +274,7 @@ Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-L
...
@@ -274,7 +274,7 @@ Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-L
if
(
!
args
.
preventEvent
)
if
(
!
args
.
preventEvent
)
plot
.
getPlaceholder
().
trigger
(
"plotzoom"
,
[
plot
,
args
]);
plot
.
getPlaceholder
().
trigger
(
"plotzoom"
,
[
plot
,
args
]);
}
}
;
plot
.
pan
=
function
(
args
)
{
plot
.
pan
=
function
(
args
)
{
var
delta
=
{
var
delta
=
{
...
@@ -322,7 +322,7 @@ Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-L
...
@@ -322,7 +322,7 @@ Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-L
if
(
!
args
.
preventEvent
)
if
(
!
args
.
preventEvent
)
plot
.
getPlaceholder
().
trigger
(
"plotpan"
,
[
plot
]);
plot
.
getPlaceholder
().
trigger
(
"plotpan"
,
[
plot
]);
}
}
;
function
shutdown
(
plot
,
eventHolder
)
{
function
shutdown
(
plot
,
eventHolder
)
{
eventHolder
.
unbind
(
plot
.
getOptions
().
zoom
.
trigger
,
onZoomClick
);
eventHolder
.
unbind
(
plot
.
getOptions
().
zoom
.
trigger
,
onZoomClick
);
...
...
jquery.flot.pie.js
View file @
c98c3108
...
@@ -65,20 +65,21 @@ More detail and specific examples can be found in the included HTML file.
...
@@ -65,20 +65,21 @@ More detail and specific examples can be found in the included HTML file.
function
init
(
plot
)
{
function
init
(
plot
)
{
var
canvas
=
null
;
var
canvas
=
null
,
var
canvasWidth
=
0
;
canvasWidth
=
0
,
var
canvasHeight
=
0
;
canvasHeight
=
0
,
var
target
=
null
;
target
=
null
,
var
maxRadius
=
null
;
maxRadius
=
null
,
var
centerLeft
=
null
;
centerLeft
=
null
,
var
centerTop
=
null
;
centerTop
=
null
,
var
total
=
0
;
total
=
0
,
var
redraw
=
true
;
redraw
=
true
,
var
redrawAttempts
=
10
;
redrawAttempts
=
10
,
var
shrink
=
0.95
;
shrink
=
0.95
,
var
legendWidth
=
0
;
legendWidth
=
0
,
var
processed
=
false
;
processed
=
false
,
var
raw
=
false
;
raw
=
false
,
ctx
=
null
;
// interactive variables
// interactive variables
...
@@ -528,7 +529,7 @@ More detail and specific examples can be found in the included HTML file.
...
@@ -528,7 +529,7 @@ More detail and specific examples can be found in the included HTML file.
// subtract the center
// subtract the center
layer
.
save
();
layer
.
save
();
innerRadius
=
options
.
series
.
pie
.
innerRadius
>
1
?
options
.
series
.
pie
.
innerRadius
:
maxRadius
*
options
.
series
.
pie
.
innerRadius
;
var
innerRadius
=
options
.
series
.
pie
.
innerRadius
>
1
?
options
.
series
.
pie
.
innerRadius
:
maxRadius
*
options
.
series
.
pie
.
innerRadius
;
layer
.
globalCompositeOperation
=
"destination-out"
;
// this does not work with excanvas, but it will fall back to using the stroke color
layer
.
globalCompositeOperation
=
"destination-out"
;
// this does not work with excanvas, but it will fall back to using the stroke color
layer
.
beginPath
();
layer
.
beginPath
();
layer
.
fillStyle
=
options
.
series
.
pie
.
stroke
.
color
;
layer
.
fillStyle
=
options
.
series
.
pie
.
stroke
.
color
;
...
@@ -563,9 +564,10 @@ More detail and specific examples can be found in the included HTML file.
...
@@ -563,9 +564,10 @@ More detail and specific examples can be found in the included HTML file.
function
findNearbySlice
(
mouseX
,
mouseY
)
{
function
findNearbySlice
(
mouseX
,
mouseY
)
{
var
slices
=
plot
.
getData
();
var
slices
=
plot
.
getData
(),
var
options
=
plot
.
getOptions
();
options
=
plot
.
getOptions
(),
var
radius
=
options
.
series
.
pie
.
radius
>
1
?
options
.
series
.
pie
.
radius
:
maxRadius
*
options
.
series
.
pie
.
radius
;
radius
=
options
.
series
.
pie
.
radius
>
1
?
options
.
series
.
pie
.
radius
:
maxRadius
*
options
.
series
.
pie
.
radius
,
x
,
y
;
for
(
var
i
=
0
;
i
<
slices
.
length
;
++
i
)
{
for
(
var
i
=
0
;
i
<
slices
.
length
;
++
i
)
{
...
@@ -597,17 +599,17 @@ More detail and specific examples can be found in the included HTML file.
...
@@ -597,17 +599,17 @@ More detail and specific examples can be found in the included HTML file.
// excanvas for IE doesn;t support isPointInPath, this is a workaround.
// excanvas for IE doesn;t support isPointInPath, this is a workaround.
p1X
=
radius
*
Math
.
cos
(
s
.
startAngle
);
var
p1X
=
radius
*
Math
.
cos
(
s
.
startAngle
),
p1Y
=
radius
*
Math
.
sin
(
s
.
startAngle
);
p1Y
=
radius
*
Math
.
sin
(
s
.
startAngle
),
p2X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
/
4
);
p2X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
/
4
),
p2Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
/
4
);
p2Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
/
4
),
p3X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
/
2
);
p3X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
/
2
),
p3Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
/
2
);
p3Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
/
2
),
p4X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
/
1.5
);
p4X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
/
1.5
),
p4Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
/
1.5
);
p4Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
/
1.5
),
p5X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
);
p5X
=
radius
*
Math
.
cos
(
s
.
startAngle
+
s
.
angle
),
p5Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
);
p5Y
=
radius
*
Math
.
sin
(
s
.
startAngle
+
s
.
angle
),
arrPoly
=
[[
0
,
0
],
[
p1X
,
p1Y
],
[
p2X
,
p2Y
],
[
p3X
,
p3Y
],
[
p4X
,
p4Y
],
[
p5X
,
p5Y
]];
arrPoly
=
[[
0
,
0
],
[
p1X
,
p1Y
],
[
p2X
,
p2Y
],
[
p3X
,
p3Y
],
[
p4X
,
p4Y
],
[
p5X
,
p5Y
]],
arrPoint
=
[
x
,
y
];
arrPoint
=
[
x
,
y
];
// TODO: perhaps do some mathmatical trickery here with the Y-coordinate to compensate for pie tilt?
// TODO: perhaps do some mathmatical trickery here with the Y-coordinate to compensate for pie tilt?
...
@@ -672,9 +674,9 @@ More detail and specific examples can be found in the included HTML file.
...
@@ -672,9 +674,9 @@ More detail and specific examples can be found in the included HTML file.
}
}
function
highlight
(
s
,
auto
)
{
function
highlight
(
s
,
auto
)
{
if
(
typeof
s
==
"number"
)
{
//
if (typeof s == "number") {
s
=
series
[
s
];
//
s = series[s];
}
//
}
var
i
=
indexOfHighlight
(
s
);
var
i
=
indexOfHighlight
(
s
);
...
@@ -692,9 +694,9 @@ More detail and specific examples can be found in the included HTML file.
...
@@ -692,9 +694,9 @@ More detail and specific examples can be found in the included HTML file.
plot
.
triggerRedrawOverlay
();
plot
.
triggerRedrawOverlay
();
}
}
if
(
typeof
s
==
"number"
)
{
//
if (typeof s == "number") {
s
=
series
[
s
];
//
s = series[s];
}
//
}
var
i
=
indexOfHighlight
(
s
);
var
i
=
indexOfHighlight
(
s
);
...
@@ -723,7 +725,7 @@ More detail and specific examples can be found in the included HTML file.
...
@@ -723,7 +725,7 @@ More detail and specific examples can be found in the included HTML file.
octx
.
translate
(
centerLeft
,
centerTop
);
octx
.
translate
(
centerLeft
,
centerTop
);
octx
.
scale
(
1
,
options
.
series
.
pie
.
tilt
);
octx
.
scale
(
1
,
options
.
series
.
pie
.
tilt
);
for
(
i
=
0
;
i
<
highlights
.
length
;
++
i
)
{
for
(
var
i
=
0
;
i
<
highlights
.
length
;
++
i
)
{
drawHighlight
(
highlights
[
i
].
series
);
drawHighlight
(
highlights
[
i
].
series
);
}
}
...
...
jquery.flot.stack.js
View file @
c98c3108
...
@@ -71,7 +71,7 @@ adjusted (e.g for bar charts or filled areas).
...
@@ -71,7 +71,7 @@ adjusted (e.g for bar charts or filled areas).
fromgap
=
true
,
fromgap
=
true
,
keyOffset
=
horizontal
?
1
:
0
,
keyOffset
=
horizontal
?
1
:
0
,
accumulateOffset
=
horizontal
?
0
:
1
,
accumulateOffset
=
horizontal
?
0
:
1
,
i
=
0
,
j
=
0
,
l
;
i
=
0
,
j
=
0
,
l
,
m
;
while
(
true
)
{
while
(
true
)
{
if
(
i
>=
points
.
length
)
if
(
i
>=
points
.
length
)
...
...
jquery.flot.symbol.js
View file @
c98c3108
...
@@ -51,7 +51,7 @@ choice:
...
@@ -51,7 +51,7 @@ choice:
ctx
.
moveTo
(
x
-
size
,
y
+
size
);
ctx
.
moveTo
(
x
-
size
,
y
+
size
);
ctx
.
lineTo
(
x
+
size
,
y
-
size
);
ctx
.
lineTo
(
x
+
size
,
y
-
size
);
}
}
}
}
;
var
s
=
series
.
points
.
symbol
;
var
s
=
series
.
points
.
symbol
;
if
(
handlers
[
s
])
if
(
handlers
[
s
])
...
...
jquery.flot.threshold.js
View file @
c98c3108
...
@@ -61,7 +61,7 @@ events.
...
@@ -61,7 +61,7 @@ events.
var
m
;
var
m
;
for
(
i
=
0
;
i
<
origpoints
.
length
;
i
+=
ps
)
{
for
(
i
=
0
;
i
<
origpoints
.
length
;
i
+=
ps
)
{
x
=
origpoints
[
i
]
x
=
origpoints
[
i
]
;
y
=
origpoints
[
i
+
1
];
y
=
origpoints
[
i
+
1
];
prevp
=
p
;
prevp
=
p
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment