提交 9f7d5e73 编写于 作者: K kener

mapValueCalculation dataRange bug fixed

上级 bb30cb4d
......@@ -61,15 +61,20 @@
<div class="container">
<h2>修改记录</h2>
<span>[+]新增 [-]删除 [^]升级 [#]修复 【】重要</span>
<div class="row-fluid">
<div>
<h3>undergoing</h3>
<ul>
<li>[upgraded][折线图] 主线支持shadow,item描边与主线相等</li>
<li>[upgraded] Retina视网屏优化</li>
<li>[bug fixed][地图] 福建省hover</li>
<li>[bug fixed][tooltip] 修正边界自动折行</li>
<li>[bug fixed][island] 修正拖拽empty item生成白色孤岛数据</li>
<li>[+] [compoent] 新增Title组件,图表标题支持</li>
<li>[^] [line] 折线图主线支持阴影(IE8-不支持),调整symbo描边与主线等宽</li>
<li>[^] [valueAxis] 支持数值坐标轴上显示项目文字</li>
<li>[^] [map] 数值计算方式支持均值和求和</li>
<li>[^] Retina视网屏优化</li>
<li>[#] [map] 修正福建省hover</li>
<li>[#] [tooltip] 修正气泡边界自动折行</li>
<li>[#] [island] 修正拖拽折线图的empty symbo生成白色孤岛数据</li>
<li>[#] [dataRange] 修正小数状态下的取整显示</li>
</ul>
</div>
<div>
......
......@@ -1559,6 +1559,12 @@ feature : {
<td> 地图 </td>
<td> 地图位置设置,默认只适应上下左右居中可配x,y,width,height,任意参数为空都将根据其他参数自适应 </td>
</tr>
<tr>
<td> {string} mapValueCalculation </td>
<td> 'sum' </td>
<td> 地图 </td>
<td> 地图数值计算方式,默认为加和,可选为:'sum'(总数) | 'mean'(均值)</td>
</tr>
<tr>
<td> {Array} data </td>
<td> [] </td>
......
......@@ -37,6 +37,7 @@ define(function(require) {
var _scale;
var _position;
var _selectedMode;
var _valueCalculation;
var _selected = {};
function _buildShape() {
......@@ -50,12 +51,15 @@ define(function(require) {
var name;
_mapSeries = {};
_selectedMode = false;
_valueCalculation = null;
for (var i = 0, l = series.length; i < l; i++) {
if (series[i].type == ecConfig.CHART_TYPE_MAP) {
series[i] = self.reformOption(series[i]);
_mapSeries[i] = true;
_selectedMode = _selectedMode || series[i].selectedMode;
_valueCalculation = _valueCalculation
|| series[i].mapValueCalculation;
mapType = series[i].mapType;
seriesName = series[i].name;
......@@ -86,6 +90,19 @@ define(function(require) {
}
}
if (_valueCalculation && _valueCalculation == 'mean') {
for (var k in valueData) {
valueData[k].value = valueData[k].value
/ valueData[k].seriesIndex.length;
if (valueData[k].value > 10) {
valueData[k].value = Math.round(valueData[k].value);
}
else {
valueData[k].value = valueData[k].value.toFixed(2) - 0;
}
}
}
switch (mapType) {
case 'china':
_buildMap(_getMapDataOfChina(), valueData);
......
......@@ -314,8 +314,21 @@ define(function (require) {
var font = self.getFont(dataRangeOption.textStyle);
var textHieght = zrArea.getTextWidth('', font) + 2;
var textWidth = Math.max(
zrArea.getTextWidth(dataRangeOption.max, font),
zrArea.getTextWidth(dataRangeOption.min, font)
zrArea.getTextWidth(
dataRangeOption.precision === 0
? dataRangeOption.max
: dataRangeOption.max.toFixed(
dataRangeOption.precision
),
font),
zrArea.getTextWidth(
dataRangeOption.precision === 0
? dataRangeOption.min
: dataRangeOption.min.toFixed(
dataRangeOption.precision
),
font
)
) + 2;
var pointListStart;
......@@ -966,23 +979,38 @@ define(function (require) {
_startShape.style.x - _startShape.style._x,
_startShape.style.y - _startShape.style._y
];
_startShape.style.text = Math.round(
_gap * _range.start + dataRangeOption.min
) + '';
if (dataRangeOption.precision === 0) {
_startShape.style.text = Math.round(
_gap * _range.start + dataRangeOption.min
) + '';
} else {
_startShape.style.text =(
_gap * _range.start + dataRangeOption.min
).toFixed(dataRangeOption.precision);
}
_startShape.style.color = getColor(
Math.floor(_gap * _range.start + dataRangeOption.min)
_gap * _range.start + dataRangeOption.min
);
zr.modShape(_startShape.id, _startShape);
_endShape.position = [
_endShape.style.x - _endShape.style._x,
_endShape.style.y - _endShape.style._y
];
_endShape.style.text = Math.round(
_gap * _range.end + dataRangeOption.min
) + '';
if (dataRangeOption.precision === 0) {
_endShape.style.text = Math.round(
_gap * _range.end + dataRangeOption.min
) + '';
} else {
_endShape.style.text = (
_gap * _range.end + dataRangeOption.min
).toFixed(dataRangeOption.precision);
}
_endShape.style.color = getColor(
Math.ceil(_gap * _range.end + dataRangeOption.min)
_gap * _range.end + dataRangeOption.min
);
zr.modShape(_endShape.id, _endShape);
......@@ -1054,12 +1082,16 @@ define(function (require) {
}
_valueTextList = [];
for (var i = 0; i < splitNumber; i++){
for (var i = 0; i < splitNumber; i++) {
_selectedMap[i] = true;
_valueTextList.unshift(
(i * _gap + dataRangeOption.min)
(i * _gap + dataRangeOption.min).toFixed(
dataRangeOption.precision
)
+ ' - '
+ ((i + 1) * _gap + dataRangeOption.min)
+ ((i + 1) * _gap + dataRangeOption.min).toFixed(
dataRangeOption.precision
)
);
}
......
......@@ -422,7 +422,8 @@ define(function() {
// width // 自适应
// height // 自适应
},
// selectedMode: false, // 选择模式,默认关闭,可选single,multiple
// mapValueCalculation: 'sum', // 数值合并方式,默认加和,可选为:'sum' | 'mean'
// selectedMode: false, // 选择模式,默认关闭,可选single,multiple
itemStyle: {
normal: {
// color: 各异,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册