@ -89,7 +89,7 @@ function LineGraph(body, options) {
}
} ;
// options is shared by this ItemSet and all its items
// options is shared by this lineGraph and all its items
this . options = util . extend ( { } , this . defaultOptions ) ;
this . dom = { } ;
this . props = { } ;
@ -643,10 +643,25 @@ LineGraph.prototype._updateGraph = function () {
this . abortedGraphUpdate = false ;
// With the yAxis scaled correctly, use this to get the Y values of the points.
var below = undefined ;
for ( i = 0 ; i < groupIds . length ; i ++ ) {
group = this . groups [ groupIds [ i ] ] ;
if ( this . options . stack === true && this . options . style === 'line' && i > 0 ) {
this . _stack ( groupsData [ groupIds [ i ] ] , groupsData [ groupIds [ i - 1 ] ] ) ;
if ( this . options . stack === true && this . options . style === 'line' ) {
if ( group . options . excludeFromStacking == undefined || ! group . options . excludeFromStacking ) {
if ( below != undefined ) {
this . _stack ( groupsData [ group . id ] , groupsData [ below . id ] ) ;
if ( group . options . shaded . enabled == true && group . options . shaded . orientation !== "group" ) {
if ( group . options . shaded . orientation == "top" && below . options . shaded . orientation !== "group" ) {
below . options . shaded . orientation = "group" ;
below . options . shaded . groupId = group . id ;
} else {
group . options . shaded . orientation = "group" ;
group . options . shaded . groupId = below . id ;
}
}
}
below = group ;
}
}
this . _convertYcoordinates ( groupsData [ groupIds [ i ] ] , group ) ;
}
@ -780,8 +795,8 @@ LineGraph.prototype._getRelevantData = function (groupIds, groupsData, minDate,
// optimization for sorted data
if ( group . options . sort == true ) {
var first = Math . max ( 0 , util . binarySearchValue ( itemsData , minDate , 'x' , 'before' ) ) ;
var last = Math . min ( itemsData . length , util . binarySearchValue ( itemsData , maxDate , 'x' , 'after' ) ) ;
if ( last < 0 ) {
var last = Math . min ( itemsData . length , util . binarySearchValue ( itemsData , maxDate , 'x' , 'after' ) + 1 ) ;
if ( last <= 0 ) {
last = itemsData . length ;
}
var dataContainer = new Array ( last - first ) ;