|
@ -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.options = util.extend({}, this.defaultOptions); |
|
|
this.dom = {}; |
|
|
this.dom = {}; |
|
|
this.props = {}; |
|
|
this.props = {}; |
|
@ -643,10 +643,25 @@ LineGraph.prototype._updateGraph = function () { |
|
|
this.abortedGraphUpdate = false; |
|
|
this.abortedGraphUpdate = false; |
|
|
|
|
|
|
|
|
// With the yAxis scaled correctly, use this to get the Y values of the points.
|
|
|
// 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++) { |
|
|
for (i = 0; i < groupIds.length; i++) { |
|
|
group = this.groups[groupIds[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); |
|
|
this._convertYcoordinates(groupsData[groupIds[i]], group); |
|
|
} |
|
|
} |
|
@ -780,8 +795,8 @@ LineGraph.prototype._getRelevantData = function (groupIds, groupsData, minDate, |
|
|
// optimization for sorted data
|
|
|
// optimization for sorted data
|
|
|
if (group.options.sort == true) { |
|
|
if (group.options.sort == true) { |
|
|
var first = Math.max(0, util.binarySearchValue(itemsData, minDate, 'x', 'before')); |
|
|
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; |
|
|
last = itemsData.length; |
|
|
} |
|
|
} |
|
|
var dataContainer = new Array(last-first); |
|
|
var dataContainer = new Array(last-first); |
|
|