* @protected
*/
getMaxOverflow() {
- const me = this;
- const meta = me._cachedMeta;
- const data = meta.data;
+ const {data, _parsed} = this._cachedMeta;
+
let max = 0;
for (let i = data.length - 1; i >= 0; --i) {
- max = Math.max(max, data[i].size());
+ max = Math.max(max, data[i].size() / 2, _parsed[i]._custom);
}
return max > 0 && max;
}
--- /dev/null
+module.exports = {
+ config: {
+ type: 'bubble',
+ data: {
+ datasets: [{
+ backgroundColor: 'red',
+ data: [{x: 12, y: 54, r: 22.4}]
+ }, {
+ backgroundColor: 'blue',
+ data: [{x: 18, y: 38, r: 25}]
+ }]
+ }
+ },
+ options: {
+ spriteText: true,
+ canvas: {
+ width: 256,
+ height: 256
+ },
+ run(chart) {
+ chart.update();
+ }
+ }
+};
--- /dev/null
+module.exports = {
+ config: {
+ type: 'bubble',
+ data: {
+ datasets: [{
+ backgroundColor: 'red',
+ data: [{x: 12, y: 54, r: 22.4}]
+ }, {
+ backgroundColor: 'blue',
+ data: [{x: 18, y: 38, r: 25}]
+ }]
+ }
+ },
+ options: {
+ spriteText: true,
+ canvas: {
+ width: 256,
+ height: 256
+ }
+ }
+};
var meta = chart.getDatasetMeta(0);
[
- {r: 5, x: 0, y: 0},
- {r: 1, x: 171, y: 512},
- {r: 2, x: 341, y: 486},
- {r: 1, x: 512, y: 0}
+ {r: 5, x: 5, y: 5},
+ {r: 1, x: 171, y: 507},
+ {r: 2, x: 341, y: 482},
+ {r: 1, x: 507, y: 5}
].forEach(function(expected, i) {
expect(meta.data[i].x).toBeCloseToPixel(expected.x);
expect(meta.data[i].y).toBeCloseToPixel(expected.y);