"use strict";
/*
-
Bits of jankiness:
- Direct layout access
- Direct area access
- Should include calculation of ticks, not just the drawing.
+Options left to make axis-friendly.
+ ('axisTickSize')
+ ('drawAxesAtZero')
+ ('xAxisHeight')
+
+These too. What is the difference between axisLablelWidth and {x,y}AxisLabelWidth?
+ ('axisLabelWidth')
+ ('xAxisLabelWidth')
+ ('yAxisLabelWidth')
*/
/**
if (g.getOption('drawXAxis')) {
var h;
+ // NOTE: I think this is probably broken now, since g.getOption() now
+ // hits the dictionary. (That is, g.getOption('xAxisHeight') now always
+ // has a value.)
if (g.getOption('xAxisHeight')) {
h = g.getOption('xAxisHeight');
} else {
position: "absolute",
fontSize: g.getOptionForAxis('axisLabelFontSize', axis) + "px",
zIndex: 10,
- color: g.getOption('axisLabelColor'),
+ color: g.getOptionForAxis('axisLabelColor', axis),
width: g.getOption('axisLabelWidth') + "px",
// height: g.getOptionForAxis('axisLabelFontSize', 'x') + 2 + "px",
lineHeight: "normal", // Something other than "normal" line-height screws up label positioning.
var makeDiv = function(txt, axis, prec_axis) {
/*
- * This seems to be called with the following three sets of axis/perc_axis:
+ * This seems to be called with the following three sets of axis/prec_axis:
* x: undefined
* y: y1
* y: y2
// axis lines
context.save();
- context.strokeStyle = g.getOption('axisLineColor');
- context.lineWidth = g.getOption('axisLineWidth');
var layout = g.layout_;
var area = e.dygraph.plotter_.area;
} else {
axisX = halfUp(area.x);
}
+
+ context.strokeStyle = g.getOptionForAxis('axisLineColor', 'y');
+ context.lineWidth = g.getOptionForAxis('axisLineWidth', 'y');
+
context.beginPath();
context.moveTo(axisX, halfDown(area.y));
context.lineTo(axisX, halfDown(area.y + area.h));
// if there's a secondary y-axis, draw a vertical line for that, too.
if (g.numAxes() == 2) {
+ context.strokeStyle = g.getOptionForAxis('axisLineColor', 'y2');
+ context.lineWidth = g.getOptionForAxis('axisLineWidth', 'y2');
context.beginPath();
context.moveTo(halfDown(area.x + area.w), halfDown(area.y));
context.lineTo(halfDown(area.x + area.w), halfDown(area.y + area.h));
}
}
+ context.strokeStyle = g.getOptionForAxis('axisLineColor', 'x');
+ context.lineWidth = g.getOptionForAxis('axisLineWidth', 'x');
context.beginPath();
var axisY;
if (g.getOption('drawAxesAtZero')) {