DygraphLayout.prototype._evaluateLimits = function() {
this.minxval = this.maxxval = null;
for (var name in this.datasets) {
+ if (!this.datasets.hasOwnProperty(name)) continue;
var series = this.datasets[name];
var x1 = series[0][0];
if (!this.minxval || x1 < this.minxval) this.minxval = x1;
// add all the rects
this.points = new Array();
for (var setName in this.datasets) {
+ if (!this.datasets.hasOwnProperty(setName)) continue;
+
var dataset = this.datasets[setName];
for (var j = 0; j < dataset.length; j++) {
var item = dataset[j];
// Copy over the error terms
var i = 0; // index in this.points
for (var setName in this.datasets) {
+ if (!this.datasets.hasOwnProperty(setName)) continue;
var j = 0;
var dataset = this.datasets[setName];
for (var j = 0; j < dataset.length; j++, i++) {
var makeDiv = function(txt) {
var div = document.createElement("div");
for (var name in labelStyle) {
- div.style[name] = labelStyle[name];
+ if (labelStyle.hasOwnProperty(name)) {
+ div.style[name] = labelStyle[name];
+ }
}
div.appendChild(document.createTextNode(txt));
return div;
context.lineWidth = this.options.axisLineWidth;
if (this.options.drawYAxis) {
- if (this.layout.yticks) {
+ if (this.layout.yticks && this.layout.yticks.length > 0) {
for (var i = 0; i < this.layout.yticks.length; i++) {
var tick = this.layout.yticks[i];
if (typeof(tick) == "function") return;
var errorBars = this.layout.options.errorBars;
var setNames = [];
- for (var name in this.layout.datasets) setNames.push(name);
+ for (var name in this.layout.datasets) {
+ if (this.layout.datasets.hasOwnProperty(name)) {
+ setNames.push(name);
+ }
+ }
var setCount = setNames.length;
//Update Points