提交 3a73d3a0 编写于 作者: S sushuang

tweak about #9407

上级 aba3c94a
......@@ -35,6 +35,7 @@ import {summarizeDimensions} from './helper/dimensionHelper';
var isObject = zrUtil.isObject;
var UNDEFINED = 'undefined';
var INDEX_NOT_FOUND = -1;
// Use prefix to avoid index to be the same as otherIdList[idx],
// which will cause weird udpate animation.
......@@ -54,6 +55,7 @@ var dataCtors = {
// Caution: MUST not use `new CtorUint32Array(arr, 0, len)`, because the Ctor of array is
// different from the Ctor of typed array.
var CtorUint32Array = typeof Uint32Array === UNDEFINED ? Array : Uint32Array;
var CtorInt32Array = typeof Int32Array === UNDEFINED ? Array : Int32Array;
var CtorUint16Array = typeof Uint16Array === UNDEFINED ? Array : Uint16Array;
function getIndicesCtor(list) {
......@@ -599,13 +601,13 @@ function prepareInvertedIndex(list) {
// Currently, only dimensions that has ordinalMeta can create inverted indices.
var ordinalMeta = dimInfo.ordinalMeta;
if (ordinalMeta) {
invertedIndices = invertedIndicesMap[dim] = new Array(
invertedIndices = invertedIndicesMap[dim] = new CtorInt32Array(
ordinalMeta.categories.length
);
// The default value of TypedArray is 0. To avoid miss
// mapping to 0, we should set it as NaN.
// mapping to 0, we should set it as INDEX_NOT_FOUND.
for (var i = 0; i < invertedIndices.length; i++) {
invertedIndices[i] = NaN;
invertedIndices[i] = INDEX_NOT_FOUND;
}
for (var i = 0; i < list._count; i++) {
// Only support the case that all values are distinct.
......@@ -970,7 +972,7 @@ listProto.rawIndexOf = function (dim, value) {
}
var rawIndex = invertedIndices[value];
if (rawIndex == null || isNaN(rawIndex)) {
return -1;
return INDEX_NOT_FOUND;
}
return rawIndex;
};
......
......@@ -35,7 +35,8 @@ under the License.
</style>
<div id="main0"></div>
<!-- <div id="main0"></div> -->
<div id="main1"></div>
<script>
......@@ -131,5 +132,410 @@ under the License.
});
</script>
<script>
require([
'echarts'
], function (echarts) {
var option = {
"tooltip": {
"trigger": "axis"
},
"xAxis": {
"data": [
"",
"Good",
"Slightly polluted",
"Excellent",
"Medially polluted",
"Severely polluted"
]
},
"yAxis": {
},
grid: {
right: 200
},
"series": [
{
"type": "bar",
"stack": "WEATHER1",
"name": "Clear",
"data": [
[
"",
48
],
[
"Good",
41.38805970149254
],
[
"Slightly polluted",
58.78378378378378
],
[
"Excellent",
21.5
],
[
"Medially polluted",
64.66666666666667
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Cloudy",
"data": [
[
"Good",
41.49246231155779
],
[
"Slightly polluted",
62.5
],
[
"Excellent",
22.38888888888889
],
[
"Medially polluted",
63.25
],
[
"Severely polluted",
85.66666666666667
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Overcast",
"data": [
[
"Good",
39.73170731707317
],
[
"Excellent",
22.93548387096774
],
[
"Slightly polluted",
64.75
],
[
"Medially polluted",
121.5
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Light rain",
"data": [
[
"Slightly polluted",
60.09090909090909
],
[
"Good",
39.15277777777778
],
[
"Excellent",
19.822222222222223
],
[
"Severely polluted",
82
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Moderate to heavy rain",
"data": [
[
"Excellent",
20.2
],
[
"Good",
33.875
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Fog",
"data": [
[
"Medially polluted",
123.5
],
[
"Slightly polluted",
105.5
],
[
"Good",
71
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Moderate rain",
"data": [
[
"Excellent",
19.125
],
[
"Good",
30.071428571428573
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Shower",
"data": [
[
"Excellent",
21.571428571428573
],
[
"Good",
37.523809523809526
],
[
"Slightly polluted",
69.33333333333333
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Thundershower",
"data": [
[
"Good",
31.17241379310345
],
[
"Excellent",
20.6
],
[
"Slightly polluted",
43.75
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Heavy rain",
"data": [
[
"Excellent",
23.142857142857142
],
[
"Good",
30.285714285714285
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Rainstorm",
"data": [
[
"Excellent",
19.142857142857142
],
[
"Good",
31.083333333333332
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Slight to moderate rain",
"data": [
[
"Good",
33.23529411764706
],
[
"Excellent",
18.857142857142858
],
[
"Slightly polluted",
53
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
},
{
"type": "bar",
"stack": "WEATHER1",
"name": "Heavy rain to rainstorm",
"data": [
[
"Excellent",
18
]
],
"encode": {
"x": [
0
],
"y": [
1
]
}
}
],
"legend": {
orient: 'vertical',
right: 10
}
}
testHelper.create(echarts, 'main1', {
title: 'Check bars should not be overflow the Y extent. (#9346)',
option: option,
height: 500
});
});
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册