diff --git a/src/chart/helper/createListFromArray.js b/src/chart/helper/createListFromArray.js index 83c583d10dbfa0443a65e7721af7cc480c447a54..26e2b1baef57d0acf4a251e67ffc59911efef6e8 100644 --- a/src/chart/helper/createListFromArray.js +++ b/src/chart/helper/createListFromArray.js @@ -24,6 +24,9 @@ define(function(require) { return list; } + function isStackable(axisType) { + return axisType !== 'category' && axisType !== 'time'; + } /** * Creaters for each coord system. * @return {Object} {dimensions, categoryAxisModel}; @@ -46,7 +49,7 @@ define(function(require) { name: 'y', // If two category axes type: isYAxisCategory ? 'ordinal' : 'float', - stackable: !isYAxisCategory + stackable: isStackable(yAxisType) }]; categoryAxisModel = xAxisModel; @@ -57,7 +60,7 @@ define(function(require) { type: 'ordinal' }, { name: 'x', - stackable: true + stackable: isStackable(xAxisType) }]; categoryAxisModel = yAxisModel; @@ -93,7 +96,7 @@ define(function(require) { name: 'radius', // If two category axes type: isRadiusAxisCategory ? 'ordinal' : 'float', - stackable: !isRadiusAxisCategory + stackable: isStackable(radiusAxisModel.get('type')) }]; categoryAxisModel = angleAxisModel; @@ -104,7 +107,7 @@ define(function(require) { type: 'ordinal' }, { name: 'angle', - stackable: true + stackable: isStackable(angleAxisModel.get('type')) }]; categoryAxisModel = radiusAxisModel; diff --git a/src/chart/line/LineSeries.js b/src/chart/line/LineSeries.js index 721dcc70ae897ec43ec483bd85a8ba73d8da89fa..f62395a340510f0ad15e5e85488830c1c1b538c2 100644 --- a/src/chart/line/LineSeries.js +++ b/src/chart/line/LineSeries.js @@ -68,8 +68,8 @@ define(function(require) { // 拐点图形旋转控制 // symbolRotate: null, - // 不显示 symbol, 只有在 tooltip hover 的时候显示 - // notShowSymbol: false, + // 是否显示 symbol, 只有在 tooltip hover 的时候显示 + showSymbol: true, // 标志图形默认只有主轴显示(随主轴标签间隔隐藏策略) // showAllSymbol: false diff --git a/src/chart/line/LineView.js b/src/chart/line/LineView.js index d221cd31edd4d71c92f895b113558481fe5f65e1..7693e4aafdf43c18cd5909bbbfe99b0bbaa85568 100644 --- a/src/chart/line/LineView.js +++ b/src/chart/line/LineView.js @@ -192,7 +192,7 @@ define(function(require) { var isAreaChart = !areaStyleModel.isEmpty(); var stackedOnPoints = getStackedOnPoints(coordSys, data); - var showSymbol = !seriesModel.get('notShowSymbol'); + var showSymbol = seriesModel.get('showSymbol'); var isSymbolIgnore = showSymbol && !isCoordSysPolar && !seriesModel.get('showAllSymbol') && this._getSymbolIgnoreFunc(data, coordSys); @@ -206,7 +206,7 @@ define(function(require) { } }); - // Remove previous created symbols if notShowSymbol changed to true + // Remove previous created symbols if showSymbol changed to false if (!showSymbol) { symbolDraw.remove(); } diff --git a/src/chart/treemap/TreemapView.js b/src/chart/treemap/TreemapView.js index 50440ca53bfa84096a34289489106269ad898656..71429bcf513ad175907b76394b43090d963b2155 100644 --- a/src/chart/treemap/TreemapView.js +++ b/src/chart/treemap/TreemapView.js @@ -651,7 +651,7 @@ * @override */ remove: function () { - this._containerGroup.removeAll(); + this._containerGroup && this._containerGroup.removeAll(); this._storage = createStorage(); this._state = 'ready'; this._breadcrumb && this._breadcrumb.remove(); diff --git a/src/component/marker/MarkLineModel.js b/src/component/marker/MarkLineModel.js index 9d2454b3134ecf0250051dd99d0a48ecb843d1b9..7a3b1f2e9f8117af24e5ddd6dac2a05cb0e63bbb 100644 --- a/src/component/marker/MarkLineModel.js +++ b/src/component/marker/MarkLineModel.js @@ -109,7 +109,8 @@ define(function (require) { borderWidth: 2 } // emphasis: {} - } + }, + animationEasing: 'linear' } }); diff --git a/src/coord/axisDefault.js b/src/coord/axisDefault.js index 899f591db32ed825e107a2ca83f88696132edf38..ef29d817c6af9a54c784aa3815df33a8314b2234 100644 --- a/src/coord/axisDefault.js +++ b/src/coord/axisDefault.js @@ -104,7 +104,11 @@ define(function (require) { }, defaultOption); // FIXME - var timeAxis = zrUtil.merge({}, valueAxis); + var timeAxis = zrUtil.merge({ + scale: true, + min: 'dataMin', + max: 'dataMax' + }, valueAxis); var logAxis = zrUtil.merge({}, valueAxis); logAxis.scale = true; diff --git a/src/coord/axisModelCommonMixin.js b/src/coord/axisModelCommonMixin.js index 3bbec875cd0fcf9640f52e4767cef8faa9890467..c54b5d6f2205a846faa00dc3d4dc928c931ec3b4 100644 --- a/src/coord/axisModelCommonMixin.js +++ b/src/coord/axisModelCommonMixin.js @@ -24,19 +24,28 @@ define(function (require) { */ function getFormattedLabels () { var labelFormatter = this.get('axisLabel.formatter'); - var labels = this.axis.scale.getTicksLabels(); - if (!labelFormatter) { - return labels; - } - else if (typeof labelFormatter === 'string') { + var axis = this.axis; + var scale = axis.scale; + var labels = scale.getTicksLabels(); + var ticks = scale.getTicks(); + if (typeof labelFormatter === 'string') { labelFormatter = (function (tpl) { return function (val) { return tpl.replace('{value}', val); }; })(labelFormatter); + return zrUtil.map(labels, labelFormatter); + } + else if (typeof labelFormatter === 'function') { + return zrUtil.map(ticks, function (tick) { + return labelFormatter( + axis.type === 'category' ? scale.getLabel(tick) : tick + ); + }, this); + } + else { + return labels; } - - return zrUtil.map(labels, labelFormatter); } return { diff --git a/src/coord/cartesian/axisLabelInterval.js b/src/coord/cartesian/axisLabelInterval.js index ab82f5c0b2f597066a61f2a25c3e9129c56f0502..80df1fcaddadb3f9e7668d26ecff9ce003f7c6ad 100644 --- a/src/coord/cartesian/axisLabelInterval.js +++ b/src/coord/cartesian/axisLabelInterval.js @@ -37,6 +37,7 @@ define(function(require) { labels[i], font, 'center', 'top' ); rect[isAxisHorizontal ? 'x' : 'y'] += tickCoord; + rect[isAxisHorizontal ? 'width' : 'height'] *= 1.5; if (!textSpaceTakenRect) { textSpaceTakenRect = rect.clone(); } diff --git a/src/preprocessor/helper/compatStyle.js b/src/preprocessor/helper/compatStyle.js index 5fcd2adc1ed4f1ac5368f9805e733e454d25d0ef..cb02cccc96fdcf05619992c09f443ef4f1fc6032 100644 --- a/src/preprocessor/helper/compatStyle.js +++ b/src/preprocessor/helper/compatStyle.js @@ -8,7 +8,7 @@ define(function (require) { ]; function compatItemStyle(opt) { - var itemStyleOpt = opt.itemStyle; + var itemStyleOpt = opt && opt.itemStyle; if (itemStyleOpt) { zrUtil.each(POSSIBLE_STYLES, function (styleName) { var normalItemStyleOpt = itemStyleOpt.normal; diff --git a/src/util/symbol.js b/src/util/symbol.js index 81ed78e5644e6914c942afeb8930939924c2362f..eb4a0248b521faa49b754087e3a85bc058171242 100644 --- a/src/util/symbol.js +++ b/src/util/symbol.js @@ -259,9 +259,15 @@ define(function(require) { }, buildPath: function (ctx, shape) { - var proxySymbol = symbolBuildProxies[shape.symbolType]; - if (proxySymbol) { - symbolShapeMakers[shape.symbolType]( + var symbolType = shape.symbolType; + var proxySymbol = symbolBuildProxies[symbolType]; + if (shape.symbolType !== 'none') { + if (!proxySymbol) { + // Default rect + symbolType = 'rect'; + proxySymbol = symbolBuildProxies[symbolType]; + } + symbolShapeMakers[symbolType]( shape.x, shape.y, shape.width, shape.height, proxySymbol.shape ); proxySymbol.buildPath(ctx, proxySymbol.shape); @@ -322,10 +328,6 @@ define(function(require) { symbolPath = graphic.makePath(symbolType.slice(7), {}, new BoundingRect(x, y, w, h)); } else { - // Default rect - if (!symbolShapeMakers[symbolType]) { - symbolType = 'rect'; - } symbolPath = new Symbol({ shape: { symbolType: symbolType,