Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
66628e00
I
incubator-echarts
项目概览
x649585723
/
incubator-echarts
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
incubator-echarts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
66628e00
编写于
1月 16, 2018
作者:
S
sushuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update examples and refix append data.
上级
d85cf7b9
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
342 addition
and
3 deletion
+342
-3
src/component/dataZoom/dataZoomProcessor.js
src/component/dataZoom/dataZoomProcessor.js
+2
-0
src/model/Series.js
src/model/Series.js
+1
-1
src/stream/Scheduler.js
src/stream/Scheduler.js
+6
-1
src/stream/task.js
src/stream/task.js
+1
-0
test/-stream-cases.html
test/-stream-cases.html
+39
-0
test/lines-ny-appendData.html
test/lines-ny-appendData.html
+139
-0
test/scatter-gps.html
test/scatter-gps.html
+2
-1
test/stream-filter.html
test/stream-filter.html
+152
-0
未找到文件。
src/component/dataZoom/dataZoomProcessor.js
浏览文件 @
66628e00
...
...
@@ -18,6 +18,8 @@ echarts.registerProcessor({
return
seriesModelMap
;
},
isOverallFilter
:
true
,
// Consider appendData, where filter should be performed. Because data process is
// in block mode currently, it is not need to worry about that the overallProgress
// execute every frame.
...
...
src/model/Series.js
浏览文件 @
66628e00
...
...
@@ -231,7 +231,7 @@ var SeriesModel = ComponentModel.extend({
if
(
task
)
{
var
context
=
task
.
context
;
// Consider case: filter, data sample.
if
(
context
.
data
!==
data
)
{
if
(
context
.
data
!==
data
&&
task
.
isOverallFilter
)
{
task
.
setOutputEnd
(
data
.
count
());
}
context
.
outputData
=
data
;
...
...
src/stream/Scheduler.js
浏览文件 @
66628e00
...
...
@@ -295,6 +295,7 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
var
seriesType
=
stageHandler
.
seriesType
;
var
getTargetSeries
=
stageHandler
.
getTargetSeries
;
var
overallProgress
=
true
;
var
isOverallFilter
=
stageHandler
.
isOverallFilter
;
// An overall task with seriesType detected or has `getTargetSeries`, we add
// stub in each pipelines, it will set the overall task dirty when the pipeline
...
...
@@ -320,7 +321,11 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
var
stub
=
agentStubMap
.
get
(
pipelineId
)
||
agentStubMap
.
set
(
pipelineId
,
createTask
(
{
reset
:
stubReset
,
onDirty
:
stubOnDirty
}
));
stub
.
context
=
{
model
:
seriesModel
,
overallProgress
:
overallProgress
};
stub
.
context
=
{
model
:
seriesModel
,
overallProgress
:
overallProgress
,
isOverallFilter
:
isOverallFilter
};
stub
.
agent
=
overallTask
;
stub
.
__block
=
overallProgress
;
...
...
src/stream/task.js
浏览文件 @
66628e00
...
...
@@ -194,4 +194,5 @@ taskProto.setOutputEnd = function (end) {
// that the stub of dataZoom perform again and earse the
// setted end by upstream.
this
.
_outputDueEnd
=
this
.
_settedOutputEnd
=
end
;
// this._outputDueEnd = end;
};
test/-stream-cases.html
0 → 100644
浏览文件 @
66628e00
<
!
DOCTYPE
>
<html>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
/>
<link
rel=
"stylesheet"
href=
"lib/reset.css"
>
</head>
<body>
<h1>
Necessary cases for quick test.
</h1>
<div
id=
"cases"
style=
"margin: 20px"
>
</div>
<script
type=
"text/javascript"
>
var
cases
=
[
'
./lines-ny-appendData.html
'
,
'
./scatter-random-stream.html
'
,
'
./scatter-random-stream-fix-axis.html
'
,
'
./scatter-gps.html
'
,
'
./scatter-weibo.html
'
,
'
./lines-flight.html
'
,
'
./stream-filter.html
'
,
'
./scatter-stream-visual
'
];
var
el
=
document
.
getElementById
(
'
cases
'
);
var
html
=
[];
for
(
var
i
=
0
;
i
<
cases
.
length
;
i
++
)
{
html
.
push
(
'
<a target="_blank" href="
'
+
cases
[
i
]
+
'
">
'
+
cases
[
i
]
+
'
</div>
'
);
}
el
.
innerHTML
=
html
.
join
(
'
<br>
'
);
</script>
</body>
</html>
\ No newline at end of file
test/lines-
stream-ny
.html
→
test/lines-
ny-appendData
.html
浏览文件 @
66628e00
...
...
@@ -22,18 +22,14 @@
var
xs
=
[
440000
,
450000
];
var
ys
=
[
4368000
,
4537000
];
var
dataURL
=
'
../../data-online/figshare_Urban_Road_Network/public/links_ny.bin
'
;
//
var dataURL = '../../data-online/figshare_Urban_Road_Network/public/links_ny.bin';
// var dataURL = '../../echarts-worker/example/data/links_ny.bin';
// var dataURL = '../../echarts-worker/example/data/Links_NewYork_1.json';
// var dataURL = 'http://echarts.baidu.com/resource/data/figshare_Urban_Road_Network/public/Links_NewYork_1.json';
require
([
'
echarts
'
,
// 'echarts/chart/lines',
// 'echarts/component/legend',
// 'extension/bmap'
'
echarts
'
,
'
map/js/world
'
],
function
(
echarts
)
{
var
config
=
{
...
...
@@ -43,24 +39,30 @@
largeModel
:
true
};
$
.
get
(
'
../map/json/world.json
'
,
function
(
worldJson
)
{
echarts
.
registerMap
(
'
world
'
,
worldJson
);
// echarts.registerMap('test', testGeoJson1);
// $.get('data/Links_Beijing_0.json', function (data) {
var
myChart
=
echarts
.
init
(
document
.
getElementById
(
'
main
'
));
var
CHUNK_COUNT
=
32
;
var
dataCount
=
0
;
function
fetchData
(
idx
)
{
if
(
idx
>=
CHUNK_COUNT
)
{
return
;
}
var
dataURL
=
`../../echarts-examples/public/data/asset/data/links-ny/links_ny_
${
idx
}
.bin`
;
var
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'
GET
'
,
dataURL
,
true
);
xhr
.
responseType
=
'
arraybuffer
'
;
xhr
.
onload
=
function
(
e
)
{
var
rawData
=
new
Float32Array
(
this
.
response
);
var
chart
;
var
data
=
new
Float64Array
(
rawData
.
length
-
2
);
var
offsetX
=
rawData
[
0
];
var
offsetY
=
rawData
[
1
];
var
off
=
0
;
var
addedDataCount
=
0
;
for
(
var
i
=
2
;
i
<
rawData
.
length
;)
{
var
count
=
rawData
[
i
++
];
data
[
off
++
]
=
count
;
...
...
@@ -69,66 +71,67 @@
var
y
=
rawData
[
i
++
]
+
offsetY
;
data
[
off
++
]
=
x
;
data
[
off
++
]
=
y
;
addedDataCount
++
;
}
}
var
gui
=
new
dat
.
GUI
();
gui
.
add
(
config
,
'
dataLoading
'
,
[
'
whole
'
,
'
chunked
'
])
.
onChange
(
init
);
gui
.
add
(
config
,
'
largeModel
'
)
.
onChange
(
init
);
gui
.
add
(
config
,
'
progressiveThreshold
'
,
0
,
200000
)
.
onChange
(
init
);
myChart
.
appendData
({
seriesIndex
:
0
,
data
:
data
});
dataCount
+=
addedDataCount
;
fetchData
(
idx
+
1
);
}
init
();
xhr
.
send
();
}
function
init
()
{
if
(
chart
)
{
chart
.
dispose
();
var
option
=
{
progressive
:
20000
,
backgroundColor
:
'
#111
'
,
geo
:
{
center
:
[
-
74.04327099998152
,
40.86737600240287
],
zoom
:
360
,
map
:
'
world
'
,
roam
:
true
,
silent
:
true
,
itemStyle
:
{
normal
:
{
color
:
'
transparent
'
,
borderColor
:
'
rgba(255,255,255,0.1)
'
,
borderWidth
:
1
}
}
},
series
:
[{
type
:
'
lines
'
,
coordinateSystem
:
'
geo
'
,
blendMode
:
'
lighter
'
,
dimensions
:
[
'
value
'
],
data
:
new
Float64Array
(),
polyline
:
true
,
large
:
true
,
chart
=
echarts
.
init
(
document
.
getElementById
(
'
main
'
));
chart
.
setOption
({
animation
:
false
,
geo
:
{
center
:
[
-
74.04327099998152
,
40.86737600240287
],
zoom
:
360
,
map
:
'
world
'
,
roam
:
true
,
silent
:
true
,
itemStyle
:
{
normal
:
{
areaColor
:
'
transparent
'
,
borderColor
:
'
rgba(255,255,255,0.1)
'
,
borderWidth
:
1
}
}
},
series
:
[{
type
:
'
lines
'
,
coordinateSystem
:
'
geo
'
,
data
:
data
,
large
:
config
.
largeModel
,
polyline
:
true
,
blendMode
:
'
lighter
'
,
lineStyle
:
{
normal
:
{
color
:
'
orange
'
,
opacity
:
0.3
,
width
:
0.5
}
},
progressive
:
config
.
progressive
,
progressiveThreshold
:
config
.
progressiveThreshold
}]
});
lineStyle
:
{
color
:
'
orange
'
,
width
:
0.5
,
opacity
:
0.3
}
};
}]
};
fetchData
(
0
);
myChart
.
setOption
(
option
);
xhr
.
send
();
});
});
</script>
...
...
test/scatter-gps.html
浏览文件 @
66628e00
...
...
@@ -48,8 +48,9 @@
if
(
idx
>=
CHUNK_COUNT
)
{
return
;
}
var
dataURL
=
`../../echarts-gl/test/data/gps/gps_
${
idx
}
.bin`
;
//
var dataURL = `../../echarts-gl/test/data/gps/gps_${idx}.bin`;
// var dataURL = `../../data-online/gps/gps_${idx}.bin`;
var
dataURL
=
`../../echarts-examples/public/data/asset/data/gps/gps_
${
idx
}
.bin`
;
var
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'
GET
'
,
dataURL
,
true
);
xhr
.
responseType
=
'
arraybuffer
'
;
...
...
test/stream-filter.html
0 → 100644
浏览文件 @
66628e00
<html>
<head>
<meta
charset=
"utf-8"
>
<script
src=
"lib/esl.js"
></script>
<script
src=
"lib/config.js"
></script>
</head>
<body>
<style>
html
,
body
,
#main
{
width
:
100%
;
height
:
100%
;
}
</style>
also check "scatter-gps.html", filter should not block append data.
<div
id=
"main"
></div>
<script>
require
([
'
echarts
'
// 'echarts/chart/scatter',
// 'echarts/component/legend',
// 'echarts/component/grid',
// 'echarts/component/tooltip',
// 'echarts/component/dataZoom'
],
function
(
echarts
)
{
var
chart
=
echarts
.
init
(
document
.
getElementById
(
'
main
'
),
null
,
{
});
var
data1
=
[];
var
data2
=
[];
var
data3
=
[];
var
random
=
function
(
max
)
{
return
(
Math
.
random
()
*
max
).
toFixed
(
3
);
};
for
(
var
i
=
0
;
i
<
100000
;
i
++
)
{
data1
.
push
([
random
(
15
),
random
(
10
),
random
(
1
)]);
// data1.push([i, 10, i]);
data2
.
push
([
random
(
10
),
random
(
10
),
random
(
1
)]);
data3
.
push
([
random
(
15
),
random
(
10
),
random
(
1
)]);
}
// console.profile('setOption');
chart
.
setOption
({
animation
:
false
,
legend
:
{
data
:
[
'
scatter
'
,
'
scatter2
'
,
'
scatter3
'
]
},
tooltip
:
{
},
xAxis
:
{
type
:
'
value
'
,
min
:
'
dataMin
'
,
max
:
'
dataMax
'
,
splitLine
:
{
show
:
true
}
},
yAxis
:
{
type
:
'
value
'
,
min
:
'
dataMin
'
,
max
:
'
dataMax
'
,
splitLine
:
{
show
:
true
}
},
dataZoom
:
[
{
show
:
true
,
xAxisIndex
:
[
0
],
start
:
1
,
end
:
5
},
{
show
:
true
,
yAxisIndex
:
[
0
],
start
:
29
,
end
:
36
},
{
type
:
'
inside
'
,
xAxisIndex
:
[
0
],
start
:
1
,
end
:
5
},
{
type
:
'
inside
'
,
yAxisIndex
:
[
0
],
start
:
29
,
end
:
36
}
],
series
:
[
{
name
:
'
scatter
'
,
type
:
'
scatter
'
,
itemStyle
:
{
normal
:
{
opacity
:
0.8
,
// shadowBlur: 10,
// shadowOffsetX: 0,
// shadowOffsetY: 0,
// shadowColor: 'rgba(0, 0, 0, 0.5)'
}
},
symbolSize
:
function
(
val
)
{
return
val
[
2
]
*
40
;
},
data
:
data1
},
{
name
:
'
scatter2
'
,
type
:
'
scatter
'
,
itemStyle
:
{
normal
:
{
opacity
:
0.8
}
},
symbolSize
:
function
(
val
)
{
return
val
[
2
]
*
40
;
},
data
:
data2
},
{
name
:
'
scatter3
'
,
type
:
'
scatter
'
,
itemStyle
:
{
normal
:
{
opacity
:
0.8
,
}
},
symbolSize
:
function
(
val
)
{
return
val
[
2
]
*
40
;
},
data
:
data3
}
]
});
// console.profileEnd('setOption');
})
</script>
<!-- <script src="js/memory-stats.js"></script>
<script src="js/memory.js"></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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录