var h;
// NOTE: I think this is probably broken now, since g.getOption() now
// hits the dictionary. (That is, g.getOption('xAxisHeight') now always
var h;
// NOTE: I think this is probably broken now, since g.getOption() now
// hits the dictionary. (That is, g.getOption('xAxisHeight') now always
// TODO(danvk): per-axis setting.
var w = g.getOption('yAxisLabelWidth') + 2 * g.getOption('axisTickSize');
e.reserveSpaceRight(w);
// TODO(danvk): per-axis setting.
var w = g.getOption('yAxisLabelWidth') + 2 * g.getOption('axisTickSize');
e.reserveSpaceRight(w);
// Round pixels to half-integer boundaries for crisper drawing.
function halfUp(x) { return Math.round(x) + 0.5; }
// Round pixels to half-integer boundaries for crisper drawing.
function halfUp(x) { return Math.round(x) + 0.5; }
if (layout.yticks && layout.yticks.length > 0) {
var num_axes = g.numAxes();
for (i = 0; i < layout.yticks.length; i++) {
if (layout.yticks && layout.yticks.length > 0) {
var num_axes = g.numAxes();
for (i = 0; i < layout.yticks.length; i++) {