minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
display: true,
autoSkip: true,
y1 = chartArea.top;
y2 = chartArea.bottom;
} else {
- if (options.position === 'left') {
- if (optionTicks.mirror) {
- labelX = me.right + optionTicks.padding;
- textAlign = 'left';
- } else {
- labelX = me.right - optionTicks.padding;
- textAlign = 'right';
- }
- // right side
- } else if (optionTicks.mirror) {
- labelX = me.left - optionTicks.padding;
- textAlign = 'right';
+ var isLeft = options.position === 'left';
+ var tickPadding = optionTicks.padding;
+ var labelXOffset;
+
+ if (optionTicks.mirror) {
+ textAlign = isLeft ? 'left' : 'right';
+ labelXOffset = tickPadding;
} else {
- labelX = me.left + optionTicks.padding;
- textAlign = 'left';
+ textAlign = isLeft ? 'right' : 'left';
+ labelXOffset = tl + tickPadding;
}
+ labelX = isLeft ? me.right - labelXOffset : me.left + labelXOffset;
+
var yLineValue = me.getPixelForTick(index); // xvalues for grid lines
yLineValue += helpers.aliasPixel(lineWidth);
labelY = me.getPixelForTick(index, gridLines.offsetGridLines);
expect(meta.data.length).toBe(2);
[
- {x: 122, y: 484},
- {x: 234, y: 32}
+ {x: 113, y: 484},
+ {x: 229, y: 32}
].forEach(function(expected, i) {
expect(meta.data[i]._datasetIndex).toBe(1);
expect(meta.data[i]._index).toBe(i);
var bar1 = meta.data[0];
var bar2 = meta.data[1];
- expect(bar1._model.x).toBeCloseToPixel(194);
+ expect(bar1._model.x).toBeCloseToPixel(187);
expect(bar1._model.y).toBeCloseToPixel(132);
- expect(bar2._model.x).toBeCloseToPixel(424);
+ expect(bar2._model.x).toBeCloseToPixel(422);
expect(bar2._model.y).toBeCloseToPixel(32);
});
var meta0 = chart.getDatasetMeta(0);
[
- {b: 290, w: 91, x: 95, y: 161},
- {b: 290, w: 91, x: 209, y: 419},
- {b: 290, w: 91, x: 322, y: 161},
- {b: 290, w: 91, x: 436, y: 419}
+ {b: 290, w: 93, x: 86, y: 161},
+ {b: 290, w: 93, x: 202, y: 419},
+ {b: 290, w: 93, x: 318, y: 161},
+ {b: 290, w: 93, x: 436, y: 419}
].forEach(function(values, i) {
expect(meta0.data[i]._model.base).toBeCloseToPixel(values.b);
expect(meta0.data[i]._model.width).toBeCloseToPixel(values.w);
var meta1 = chart.getDatasetMeta(1);
[
- {b: 161, w: 91, x: 95, y: 32},
- {b: 290, w: 91, x: 209, y: 97},
- {b: 161, w: 91, x: 322, y: 161},
- {b: 419, w: 91, x: 436, y: 471}
+ {b: 161, w: 93, x: 86, y: 32},
+ {b: 290, w: 93, x: 202, y: 97},
+ {b: 161, w: 93, x: 318, y: 161},
+ {b: 419, w: 93, x: 436, y: 471}
].forEach(function(values, i) {
expect(meta1.data[i]._model.base).toBeCloseToPixel(values.b);
expect(meta1.data[i]._model.width).toBeCloseToPixel(values.w);
var meta0 = chart.getDatasetMeta(0);
[
- {b: 290, w: 91, x: 95, y: 161},
- {b: 290, w: 91, x: 209, y: 419},
- {b: 290, w: 91, x: 322, y: 161},
- {b: 290, w: 91, x: 436, y: 419}
+ {b: 290, w: 93, x: 86, y: 161},
+ {b: 290, w: 93, x: 202, y: 419},
+ {b: 290, w: 93, x: 318, y: 161},
+ {b: 290, w: 93, x: 436, y: 419}
].forEach(function(values, i) {
expect(meta0.data[i]._model.base).toBeCloseToPixel(values.b);
expect(meta0.data[i]._model.width).toBeCloseToPixel(values.w);
var meta1 = chart.getDatasetMeta(1);
[
- {b: 161, w: 91, x: 95, y: 32},
- {b: 290, w: 91, x: 209, y: 97},
- {b: 161, w: 91, x: 322, y: 161},
- {b: 419, w: 91, x: 436, y: 471}
+ {b: 161, w: 93, x: 86, y: 32},
+ {b: 290, w: 93, x: 202, y: 97},
+ {b: 161, w: 93, x: 318, y: 161},
+ {b: 419, w: 93, x: 436, y: 471}
].forEach(function(values, i) {
expect(meta1.data[i]._model.base).toBeCloseToPixel(values.b);
expect(meta1.data[i]._model.width).toBeCloseToPixel(values.w);
var meta = chart.getDatasetMeta(0);
[
- {r: 5, x: 38, y: 32},
- {r: 1, x: 189, y: 484},
- {r: 2, x: 341, y: 461},
+ {r: 5, x: 28, y: 32},
+ {r: 1, x: 183, y: 484},
+ {r: 2, x: 338, y: 461},
{r: 1, x: 492, y: 32}
].forEach(function(expected, i) {
expect(meta.data[i]._model.radius).toBe(expected.r);
[
- {x: 44, y: 484},
- {x: 193, y: 32}
+ {x: 33, y: 484},
+ {x: 186, y: 32}
].forEach(function(expected, i) {
expect(meta.data[i]._datasetIndex).toBe(0);
expect(meta.data[i]._index).toBe(i);
var meta = chart.getDatasetMeta(0);
// 1 point
var point = meta.data[0];
- expect(point._model.x).toBeCloseToPixel(267);
+ expect(point._model.x).toBeCloseToPixel(262);
// 2 points
chart.data.labels = ['One', 'Two'];
var points = meta.data;
- expect(points[0]._model.x).toBeCloseToPixel(37);
+ expect(points[0]._model.x).toBeCloseToPixel(27);
expect(points[1]._model.x).toBeCloseToPixel(498);
// 3 points
points = meta.data;
- expect(points[0]._model.x).toBeCloseToPixel(37);
- expect(points[1]._model.x).toBeCloseToPixel(265);
+ expect(points[0]._model.x).toBeCloseToPixel(27);
+ expect(points[1]._model.x).toBeCloseToPixel(260);
expect(points[2]._model.x).toBeCloseToPixel(493);
// 4 points
points = meta.data;
- expect(points[0]._model.x).toBeCloseToPixel(37);
- expect(points[1]._model.x).toBeCloseToPixel(190);
- expect(points[2]._model.x).toBeCloseToPixel(343);
+ expect(points[0]._model.x).toBeCloseToPixel(27);
+ expect(points[1]._model.x).toBeCloseToPixel(184);
+ expect(points[2]._model.x).toBeCloseToPixel(340);
expect(points[3]._model.x).toBeCloseToPixel(497);
});
var meta0 = chart.getDatasetMeta(0);
[
- {x: 38, y: 161},
- {x: 189, y: 419},
- {x: 341, y: 161},
+ {x: 28, y: 161},
+ {x: 183, y: 419},
+ {x: 338, y: 161},
{x: 492, y: 419}
].forEach(function(values, i) {
expect(meta0.data[i]._model.x).toBeCloseToPixel(values.x);
var meta1 = chart.getDatasetMeta(1);
[
- {x: 38, y: 32},
- {x: 189, y: 97},
- {x: 341, y: 161},
+ {x: 28, y: 32},
+ {x: 183, y: 97},
+ {x: 338, y: 161},
{x: 492, y: 471}
].forEach(function(values, i) {
expect(meta1.data[i]._model.x).toBeCloseToPixel(values.x);
var meta0 = chart.getDatasetMeta(0);
[
- {x: 76, y: 161},
- {x: 215, y: 419},
- {x: 353, y: 161},
+ {x: 56, y: 161},
+ {x: 202, y: 419},
+ {x: 347, y: 161},
{x: 492, y: 419}
].forEach(function(values, i) {
expect(meta0.data[i]._model.x).toBeCloseToPixel(values.x);
var meta1 = chart.getDatasetMeta(1);
[
- {x: 76, y: 32},
- {x: 215, y: 97},
- {x: 353, y: 161},
+ {x: 56, y: 32},
+ {x: 202, y: 97},
+ {x: 347, y: 161},
{x: 492, y: 471}
].forEach(function(values, i) {
expect(meta1.data[i]._model.x).toBeCloseToPixel(values.x);
var meta0 = chart.getDatasetMeta(0);
[
- {x: 38, y: 161},
- {x: 189, y: 419},
- {x: 341, y: 161},
+ {x: 28, y: 161},
+ {x: 183, y: 419},
+ {x: 338, y: 161},
{x: 492, y: 419}
].forEach(function(values, i) {
expect(meta0.data[i]._model.x).toBeCloseToPixel(values.x);
var meta1 = chart.getDatasetMeta(1);
[
- {x: 38, y: 32},
- {x: 189, y: 97},
- {x: 341, y: 161},
+ {x: 28, y: 32},
+ {x: 183, y: 97},
+ {x: 338, y: 161},
{x: 492, y: 471}
].forEach(function(values, i) {
expect(meta1.data[i]._model.x).toBeCloseToPixel(values.x);
var meta0 = chart.getDatasetMeta(0);
[
- {x: 38, y: 161},
- {x: 189, y: 419},
- {x: 341, y: 161},
+ {x: 28, y: 161},
+ {x: 183, y: 419},
+ {x: 338, y: 161},
{x: 492, y: 419}
].forEach(function(values, i) {
expect(meta0.data[i]._model.x).toBeCloseToPixel(values.x);
var meta1 = chart.getDatasetMeta(1);
[
- {x: 38, y: 32},
- {x: 189, y: 97},
- {x: 341, y: 161},
+ {x: 28, y: 32},
+ {x: 183, y: 97},
+ {x: 338, y: 161},
{x: 492, y: 471}
].forEach(function(values, i) {
expect(meta1.data[i]._model.x).toBeCloseToPixel(values.x);
minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
display: true,
callback: merged.scales.yAxes[1].ticks.callback, // make it nicer, then check explicitly below
minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
display: true,
callback: merged.scales.yAxes[2].ticks.callback, // make it nicer, then check explicitly below
}]
}));
- expect(tooltip._view.x).toBeCloseToPixel(269);
+ expect(tooltip._view.x).toBeCloseToPixel(263);
expect(tooltip._view.y).toBeCloseToPixel(155);
});
}]
}));
- expect(tooltip._view.x).toBeCloseToPixel(269);
+ expect(tooltip._view.x).toBeCloseToPixel(263);
expect(tooltip._view.y).toBeCloseToPixel(312);
});
}]
}));
- expect(tooltip._view.x).toBeCloseToPixel(216);
+ expect(tooltip._view.x).toBeCloseToPixel(211);
expect(tooltip._view.y).toBeCloseToPixel(190);
});
}]
}));
- expect(tooltip._view.x).toBeCloseToPixel(269);
+ expect(tooltip._view.x).toBeCloseToPixel(263);
expect(tooltip._view.y).toBeCloseToPixel(155);
});
minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
display: true,
callback: defaultConfig.ticks.callback, // make this nicer, then check explicitly below
});
var xScale = chart.scales.xScale0;
- expect(xScale.getPixelForValue(0, 0, 0, false)).toBeCloseToPixel(33);
- expect(xScale.getPixelForValue(0, 0, 0, true)).toBeCloseToPixel(33);
+ expect(xScale.getPixelForValue(0, 0, 0, false)).toBeCloseToPixel(23);
+ expect(xScale.getPixelForValue(0, 0, 0, true)).toBeCloseToPixel(23);
expect(xScale.getValueForPixel(33)).toBe(0);
expect(xScale.getPixelForValue(0, 4, 0, false)).toBeCloseToPixel(487);
xScale.options.gridLines.offsetGridLines = true;
- expect(xScale.getPixelForValue(0, 0, 0, false)).toBeCloseToPixel(33);
- expect(xScale.getPixelForValue(0, 0, 0, true)).toBeCloseToPixel(78);
+ expect(xScale.getPixelForValue(0, 0, 0, false)).toBeCloseToPixel(23);
+ expect(xScale.getPixelForValue(0, 0, 0, true)).toBeCloseToPixel(69);
expect(xScale.getValueForPixel(33)).toBe(0);
expect(xScale.getValueForPixel(78)).toBe(0);
- expect(xScale.getPixelForValue(0, 4, 0, false)).toBeCloseToPixel(396);
+ expect(xScale.getPixelForValue(0, 4, 0, false)).toBeCloseToPixel(395);
expect(xScale.getPixelForValue(0, 4, 0, true)).toBeCloseToPixel(441);
expect(xScale.getValueForPixel(397)).toBe(4);
expect(xScale.getValueForPixel(441)).toBe(4);
});
var xScale = chart.scales.xScale0;
- expect(xScale.getPixelForValue('tick_1', 0, 0, false)).toBeCloseToPixel(33);
- expect(xScale.getPixelForValue('tick_1', 1, 0, false)).toBeCloseToPixel(146);
+ expect(xScale.getPixelForValue('tick_1', 0, 0, false)).toBeCloseToPixel(23);
+ expect(xScale.getPixelForValue('tick_1', 1, 0, false)).toBeCloseToPixel(139);
});
it ('Should get the correct pixel for a value when horizontal and zoomed', function() {
});
var xScale = chart.scales.xScale0;
- expect(xScale.getPixelForValue(0, 1, 0, false)).toBeCloseToPixel(33);
- expect(xScale.getPixelForValue(0, 1, 0, true)).toBeCloseToPixel(33);
+ expect(xScale.getPixelForValue(0, 1, 0, false)).toBeCloseToPixel(23);
+ expect(xScale.getPixelForValue(0, 1, 0, true)).toBeCloseToPixel(23);
expect(xScale.getPixelForValue(0, 3, 0, false)).toBeCloseToPixel(496);
expect(xScale.getPixelForValue(0, 3, 0, true)).toBeCloseToPixel(496);
xScale.options.gridLines.offsetGridLines = true;
- expect(xScale.getPixelForValue(0, 1, 0, false)).toBeCloseToPixel(33);
- expect(xScale.getPixelForValue(0, 1, 0, true)).toBeCloseToPixel(110);
+ expect(xScale.getPixelForValue(0, 1, 0, false)).toBeCloseToPixel(23);
+ expect(xScale.getPixelForValue(0, 1, 0, true)).toBeCloseToPixel(102);
- expect(xScale.getPixelForValue(0, 3, 0, false)).toBeCloseToPixel(342);
+ expect(xScale.getPixelForValue(0, 3, 0, false)).toBeCloseToPixel(338);
expect(xScale.getPixelForValue(0, 3, 0, true)).toBeCloseToPixel(419);
});
minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
display: true,
callback: defaultConfig.ticks.callback, // make this work nicer, then check below
var xScale = chart.scales.xScale0;
expect(xScale.getPixelForValue(1, 0, 0)).toBeCloseToPixel(501); // right - paddingRight
- expect(xScale.getPixelForValue(-1, 0, 0)).toBeCloseToPixel(41); // left + paddingLeft
- expect(xScale.getPixelForValue(0, 0, 0)).toBeCloseToPixel(271); // halfway*/
+ expect(xScale.getPixelForValue(-1, 0, 0)).toBeCloseToPixel(31); // left + paddingLeft
+ expect(xScale.getPixelForValue(0, 0, 0)).toBeCloseToPixel(266); // halfway*/
expect(xScale.getValueForPixel(501)).toBeCloseTo(1, 1e-2);
- expect(xScale.getValueForPixel(41)).toBeCloseTo(-1, 1e-2);
- expect(xScale.getValueForPixel(271)).toBeCloseTo(0, 1e-2);
+ expect(xScale.getValueForPixel(31)).toBeCloseTo(-1, 1e-2);
+ expect(xScale.getValueForPixel(266)).toBeCloseTo(0, 1e-2);
var yScale = chart.scales.yScale0;
expect(yScale.getPixelForValue(1, 0, 0)).toBeCloseToPixel(32); // right - paddingRight
expect(xScale.paddingBottom).toBeCloseToPixel(0);
expect(xScale.paddingLeft).toBeCloseToPixel(0);
expect(xScale.paddingRight).toBeCloseToPixel(0);
- expect(xScale.width).toBeCloseToPixel(457.5);
+ expect(xScale.width).toBeCloseToPixel(468);
expect(xScale.height).toBeCloseToPixel(28);
var yScale = chart.scales.yScale0;
expect(yScale.paddingBottom).toBeCloseToPixel(0);
expect(yScale.paddingLeft).toBeCloseToPixel(0);
expect(yScale.paddingRight).toBeCloseToPixel(0);
- expect(yScale.width).toBeCloseToPixel(41);
+ expect(yScale.width).toBeCloseToPixel(30);
expect(yScale.height).toBeCloseToPixel(452);
// Extra size when scale label showing
expect(xScale.paddingBottom).toBeCloseToPixel(0);
expect(xScale.paddingLeft).toBeCloseToPixel(0);
expect(xScale.paddingRight).toBeCloseToPixel(0);
- expect(xScale.width).toBeCloseToPixel(439.5);
+ expect(xScale.width).toBeCloseToPixel(450);
expect(xScale.height).toBeCloseToPixel(46);
expect(yScale.paddingTop).toBeCloseToPixel(0);
expect(yScale.paddingBottom).toBeCloseToPixel(0);
expect(yScale.paddingLeft).toBeCloseToPixel(0);
expect(yScale.paddingRight).toBeCloseToPixel(0);
- expect(yScale.width).toBeCloseToPixel(59);
+ expect(yScale.width).toBeCloseToPixel(48);
expect(yScale.height).toBeCloseToPixel(434);
});
minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
display: true,
callback: defaultConfig.ticks.callback, // make this nicer, then check explicitly below
});
var xScale = chart.scales.xScale;
- expect(xScale.getPixelForValue(80, 0, 0)).toBeCloseToPixel(481.5); // right - paddingRight
- expect(xScale.getPixelForValue(1, 0, 0)).toBeCloseToPixel(48); // left + paddingLeft
- expect(xScale.getPixelForValue(10, 0, 0)).toBeCloseToPixel(276); // halfway
- expect(xScale.getPixelForValue(0, 0, 0)).toBeCloseToPixel(48); // 0 is invalid, put it on the left.
+ expect(xScale.getPixelForValue(80, 0, 0)).toBeCloseToPixel(482); // right - paddingRight
+ expect(xScale.getPixelForValue(1, 0, 0)).toBeCloseToPixel(37); // left + paddingLeft
+ expect(xScale.getPixelForValue(10, 0, 0)).toBeCloseToPixel(270); // halfway
+ expect(xScale.getPixelForValue(0, 0, 0)).toBeCloseToPixel(37); // 0 is invalid, put it on the left.
expect(xScale.getValueForPixel(481.5)).toBeCloseToPixel(80);
expect(xScale.getValueForPixel(48)).toBeCloseTo(1, 1e-4);
- expect(xScale.getValueForPixel(276)).toBeCloseTo(10, 1e-4);
+ expect(xScale.getValueForPixel(270)).toBeCloseTo(10, 1e-4);
var yScale = chart.scales.yScale;
expect(yScale.getPixelForValue(80, 0, 0)).toBeCloseToPixel(32); // top + paddingTop
minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
showLabelBackdrop: true,
display: true,
minRotation: 0,
maxRotation: 50,
mirror: false,
- padding: 10,
+ padding: 0,
reverse: false,
display: true,
callback: defaultConfig.ticks.callback, // make this nicer, then check explicitly below,
var xScale = chart.scales.xScale0;
- expect(xScale.getPixelForValue('', 0, 0)).toBeCloseToPixel(78);
+ expect(xScale.getPixelForValue('', 0, 0)).toBeCloseToPixel(71);
expect(xScale.getPixelForValue('', 6, 0)).toBeCloseToPixel(452);
- expect(xScale.getPixelForValue('2015-01-01T20:00:00')).toBeCloseToPixel(78);
+ expect(xScale.getPixelForValue('2015-01-01T20:00:00')).toBeCloseToPixel(71);
- expect(xScale.getValueForPixel(78)).toBeCloseToTime({
+ expect(xScale.getValueForPixel(71)).toBeCloseToTime({
value: moment(chart.data.labels[0]),
unit: 'hour',
threshold: 0.75