g.updateOptions({ logscale : false });
assertEquals(['0','200','400','600','800','1000'], Util.getYLabels());
}
+
+/**
+ * Verify that include zero range is properly specified.
+ */
+AxisLabelsTestCase.prototype.testIncludeZero = function() {
+ var g = new Dygraph("graph", [[0, 500], [1, 1000]], { includeZero : true });
+ assertEquals(['0','200','400','600','800','1000'], Util.getYLabels());
+
+ g.updateOptions({ includeZero : false });
+ assertEquals(['500','600','700','800','900','1000'], Util.getYLabels());
+}
g.updateOptions({ logscale : false });
assertEquals([0, 1099], g.yAxisRange(0));
}
+
+/**
+ * Verify that includeZero range is properly specified.
+ */
+RangeTestCase.prototype.testIncludeZeroIncludesZero = function() {
+ var g = new Dygraph("graph", [[0, 500], [500, 1000]], { includeZero : true });
+ assertEquals([0, 1100], g.yAxisRange(0));
+
+ g.updateOptions({ includeZero : false });
+ assertEquals([450, 1050], g.yAxisRange(0));
+}
* indices are into the axes_ array.
*/
Dygraph.prototype.computeYAxes_ = function() {
+
// Preserve valueWindow settings if they exist, and if the user hasn't
// specified a new valueRange.
var i, valueWindows, seriesName, axis, index, opts, v;
this.axes_[axis] = opts;
}
+ // TODO(konigsberg): REMOVE THIS SILLINESS this should just come from DygraphOptions.
+ // TODO(konigsberg): Add tests for all of these. Currently just tests for
+ // includeZero and logscale.
+
+ // all options which could be applied per-axis:
+ var axisOptions = [
+ 'includeZero',
+ 'valueRange',
+ 'labelsKMB',
+ 'labelsKMG2',
+ 'pixelsPerYLabel',
+ 'yAxisLabelWidth',
+ 'axisLabelFontSize',
+ 'axisTickSize',
+ 'logscale'
+ ];
+
+ // Copy global axis options over to the first axis.
+ for (i = 0; i < axisOptions.length; i++) {
+ var k = axisOptions[i];
+ v = this.attr_(k);
+ if (v) this.axes_[0][k] = v;
+ }
+ // TODO(konigsberg): end of REMOVE THIS SILLINESS
+
if (valueWindows !== undefined) {
// Restore valueWindow settings.
for (index = 0; index < valueWindows.length; index++) {