From d15a9d9ea15e677989e99e3c48dbd60a31ad3ff5 Mon Sep 17 00:00:00 2001 From: lang Date: Tue, 10 Nov 2015 13:40:03 +0800 Subject: [PATCH] Axis position adjustment --- src/coord/cartesian/AxisModel.js | 8 ++------ src/coord/cartesian/Grid.js | 31 ++++++++++++++++++++++++++----- test/area2.html | 2 +- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/coord/cartesian/AxisModel.js b/src/coord/cartesian/AxisModel.js index 11df64f57..52e156453 100644 --- a/src/coord/cartesian/AxisModel.js +++ b/src/coord/cartesian/AxisModel.js @@ -50,9 +50,7 @@ define(function(require) { defaultOption: { type: 'category', - gridIndex: 0, - - position: 'bottom' + gridIndex: 0 } }); @@ -71,9 +69,7 @@ define(function(require) { defaultOption: { type: 'value', - gridIndex: 0, - - position: 'left' + gridIndex: 0 } }); diff --git a/src/coord/cartesian/Grid.js b/src/coord/cartesian/Grid.js index 977ee1a67..9bcd7968c 100644 --- a/src/coord/cartesian/Grid.js +++ b/src/coord/cartesian/Grid.js @@ -116,8 +116,12 @@ define(function(require, factory) { * @private */ gridProto._initCartesian = function (gridModel, ecModel, api) { - var leftUsed = false; - var bottomUsed = false; + var axisPositionUsed = { + left: false, + right: false, + top: false, + bottom: false + }; var axesMap = { x: {}, @@ -189,9 +193,26 @@ define(function(require, factory) { return; } - var axisPosition = axisType === 'x' - ? axisModel.get('position') || (bottomUsed ? 'top' : 'bottom') - : axisModel.get('position') || (leftUsed ? 'right' : 'left'); + var axisPosition = axisModel.get('position'); + if (axisType === 'x') { + // Fix position + if (axisPosition !== 'top' || axisPosition !== 'bottom') { + axisPosition = 'bottom'; + } + if (axisPositionUsed[axisPosition]) { + axisPosition = axisPosition === 'top' ? 'bottom' : 'top'; + } + } + else { + // Fix position + if (axisPosition !== 'left' || axisPosition !== 'right') { + axisPosition = 'left'; + } + if (axisPositionUsed[axisPosition]) { + axisPosition = axisPosition === 'left' ? 'right' : 'left'; + } + } + axisPositionUsed[axisPosition] = true; var axis = new Axis2D( axisType, axisHelper.createScaleByModel(axisModel), diff --git a/test/area2.html b/test/area2.html index ead0b180a..73beb6807 100644 --- a/test/area2.html +++ b/test/area2.html @@ -9,6 +9,7 @@ html, body, #main { width: 100%; height: 100%; + margin: 0; }
@@ -133,7 +134,6 @@ { name : '降雨量(mm)', type : 'value', - position: 'right', inverse: true } ], -- GitLab