Skip to content

Commit 4a3a2aa

Browse files
committed
均值计算小数点精度、图例标识可配
均值计算小数点精度可配,mapValuePrecision 图例标识可配,showLegendSymbol
1 parent 9b97ca1 commit 4a3a2aa

File tree

3 files changed

+39
-16
lines changed

3 files changed

+39
-16
lines changed

doc/doc.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2097,6 +2097,24 @@ <h4>series<a name="Series"> </a></h4>
20972097
<td> 地图 </td>
20982098
<td> 地图数值计算方式,默认为加和,可选为:'sum'(总数) | 'average'(均值)</td>
20992099
</tr>
2100+
<tr>
2101+
<td> <b>{string}</b> mapValueCalculation </td>
2102+
<td> 'sum' </td>
2103+
<td> 地图 </td>
2104+
<td> 地图数值计算方式,默认为加和,可选为:'sum'(总数) | 'average'(均值)</td>
2105+
</tr>
2106+
<tr>
2107+
<td> <b>{number}</b> mapValuePrecision </td>
2108+
<td> 0 </td>
2109+
<td> 地图 </td>
2110+
<td> 地图数值计算结果小数精度,mapValueCalculation为average时有效,默认为取整,需要小数精度时设置大于0的整数</td>
2111+
</tr>
2112+
<tr>
2113+
<td> <b>{boolean}</b> showLegendSymbol </td>
2114+
<td> true </td>
2115+
<td> 地图 </td>
2116+
<td> 显示图例颜色标识(系列标识的小圆点),存在legend时生效</td>
2117+
</tr>
21002118
<tr>
21012119
<td> <b>{Object}</b> roam </td>
21022120
<td> false </td>

src/chart/map.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ define(function(require) {
3636
var _zlevelBase = self.getZlevelBase();
3737
var _selectedMode; // 选择模式
3838
var _hoverable; // 悬浮高亮模式
39+
var _showLegendSymbol; // 显示图例颜色标识
3940
var _selected = {}; // 地图选择状态
4041
var _mapTypeMap = {}; // 图例类型索引
4142
var _mapDataMap = {}; // 根据地图类型索引bbox,transform,path
@@ -69,8 +70,10 @@ define(function(require) {
6970
var data;
7071
var name;
7172
var mapSeries = {};
73+
var mapValuePrecision = {};
7274
_selectedMode = {};
7375
_hoverable = {};
76+
_showLegendSymbol = {};
7477
var valueCalculation = {};
7578
_needRoam = false;
7679
for (var i = 0, l = series.length; i < l; i++) {
@@ -79,6 +82,8 @@ define(function(require) {
7982
mapType = series[i].mapType;
8083
mapSeries[mapType] = mapSeries[mapType] || {};
8184
mapSeries[mapType][i] = true;
85+
mapValuePrecision[mapType] = mapValuePrecision[mapType]
86+
|| series[i].mapValuePrecision;
8287
_roamMap[mapType] = series[i].roam || _roamMap[mapType];
8388
_needRoam = _needRoam || _roamMap[mapType];
8489
_nameMap[mapType] = series[i].nameMap
@@ -99,10 +104,14 @@ define(function(require) {
99104
_selectedMode[mapType] = _selectedMode[mapType]
100105
|| series[i].selectedMode;
101106
if (typeof _hoverable[mapType] == 'undefined'
102-
|| _hoverable[mapType]
107+
|| _hoverable[mapType] // false 1票否决
103108
) {
104-
_hoverable[mapType] = !series[i].hoverable
105-
? false : true; // 1票否决
109+
_hoverable[mapType] = series[i].hoverable;
110+
}
111+
if (typeof _showLegendSymbol[mapType] == 'undefined'
112+
|| _showLegendSymbol[mapType] // false 1票否决
113+
) {
114+
_showLegendSymbol[mapType] = series[i].showLegendSymbol;
106115
}
107116

108117
valueCalculation[mapType] = valueCalculation[mapType]
@@ -148,18 +157,11 @@ define(function(require) {
148157
if (valueCalculation[mt] && valueCalculation[mt] == 'average') {
149158
for (var k in valueData[mt]) {
150159
valueData[mt][k].value =
151-
valueData[mt][k].value
152-
/ valueData[mt][k].seriesIndex.length;
153-
// TODO:小数点精度可配
154-
if (valueData[mt][k].value > 10) {
155-
valueData[mt][k].value = Math.round(
156-
valueData[mt][k].value
157-
);
158-
}
159-
else {
160-
valueData[mt][k].value =
161-
valueData[mt][k].value.toFixed(2) - 0;
162-
}
160+
(valueData[mt][k].value
161+
/ valueData[mt][k].seriesIndex.length)
162+
.toFixed(
163+
mapValuePrecision[mt]
164+
) - 0;
163165
}
164166
}
165167

@@ -612,7 +614,8 @@ define(function(require) {
612614
// level 2
613615
queryTarget.push(series[data.seriesIndex[j]]);
614616
seriesName += series[data.seriesIndex[j]].name + ' ';
615-
if (legend
617+
if (legend
618+
&& _showLegendSymbol[mapType]
616619
&& legend.hasColor(series[data.seriesIndex[j]].name)
617620
) {
618621
self.shapeList.push({

src/config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,8 @@ define(function() {
625625
},
626626
// mapValueCalculation: 'sum', // 数值合并方式,默认加和,可选为:
627627
// 'sum' | 'average' | 'max' | 'min'
628+
mapValuePrecision : 0, // 地图数值计算结果小数精度
629+
showLegendSymbol : true, // 显示图例颜色标识(系列标识的小圆点),存在legend时生效
628630
// selectedMode: false, // 选择模式,默认关闭,可选single,multiple
629631
hoverable: true,
630632
// roam : false, // 是否开启缩放及漫游模式

0 commit comments

Comments
 (0)