Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
042fce51
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,发现更多精彩内容 >>
提交
042fce51
编写于
8月 08, 2013
作者:
L
lang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix the velocity constraint, add some extra config
上级
d67c94b1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
28 addition
and
9 deletion
+28
-9
src/chart/force.js
src/chart/force.js
+22
-9
src/config.js
src/config.js
+6
-0
未找到文件。
src/chart/force.js
浏览文件 @
042fce51
...
...
@@ -71,7 +71,14 @@ define(function(require) {
var
temperature
;
var
k
;
//- ----------外部参数
var
density
;
var
coolDown
;
var
centripetal
;
var
initializeSize
;
var
attractiveness
;
//- ----------
var
stepTime
=
1
/
20
;
...
...
@@ -97,7 +104,15 @@ define(function(require) {
var
minRadius
=
self
.
deepQuery
([
serie
],
'
minRadius
'
);
var
maxRadius
=
self
.
deepQuery
([
serie
],
'
maxRadius
'
);
// ----------获取外部参数
attractiveness
=
self
.
deepQuery
(
[
serie
],
'
attractiveness
'
);
density
=
self
.
deepQuery
([
serie
],
'
density
'
);
initSize
=
self
.
deepQuery
([
serie
],
'
initSize
'
);
centripetal
=
self
.
deepQuery
([
serie
],
'
centripetal
'
);
coolDown
=
self
.
deepQuery
([
serie
],
'
coolDown
'
);
// ----------
categories
=
self
.
deepQuery
([
serie
],
'
categories
'
);
...
...
@@ -141,9 +156,7 @@ define(function(require) {
linkShapes
=
[];
var
area
=
viewportWidth
*
viewportHeight
;
var
attractiveness
=
self
.
deepQuery
(
[
serie
],
'
attractiveness
'
);
// Formula in 'Graph Drawing by Force-directed Placement'
k
=
0.5
/
attractiveness
*
Math
.
sqrt
(
area
/
nodesRawData
.
length
);
...
...
@@ -208,7 +221,7 @@ define(function(require) {
var
r
=
radius
[
i
];
var
random
=
_randomInSquare
(
viewportWidth
/
2
,
viewportHeight
/
2
,
300
viewportWidth
/
2
,
viewportHeight
/
2
,
initSize
);
x
=
typeof
(
node
.
initial
)
===
'
undefined
'
?
random
.
x
...
...
@@ -466,7 +479,7 @@ define(function(require) {
var
d2
=
vec2
.
lengthSquare
(
v12
);
vec2
.
normalize
(
v12
,
v12
);
// 100是可调参数
var
forceFactor
=
d2
/
100
;
var
forceFactor
=
d2
/
100
*
centripetal
;
vec2
.
scale
(
v12
,
v12
,
forceFactor
);
vec2
.
add
(
nodeForces
[
i
],
nodeForces
[
i
],
v12
);
...
...
@@ -504,8 +517,8 @@ define(function(require) {
// Damping
vec2
.
scale
(
velocity
,
velocity
,
temperature
);
// 防止速度太大
velocity
[
0
]
=
Math
.
m
in
(
velocity
[
0
],
100
);
velocity
[
1
]
=
Math
.
m
in
(
velocity
[
1
],
100
);
velocity
[
0
]
=
Math
.
m
ax
(
Math
.
min
(
velocity
[
0
],
100
),
-
100
);
velocity
[
1
]
=
Math
.
m
ax
(
Math
.
min
(
velocity
[
1
],
100
),
-
100
);
vec2
.
add
(
p
,
p
,
velocity
);
nodeShapes
[
i
].
position
[
0
]
=
p
[
0
];
...
...
@@ -537,7 +550,7 @@ define(function(require) {
zr
.
refresh
();
// Cool Down
temperature
*=
0.999
;
temperature
*=
coolDown
;
}
var
_updating
;
...
...
@@ -558,7 +571,7 @@ define(function(require) {
setTimeout
(
cb
,
stepTime
);
}
}
setTimeout
(
cb
,
stepTime
);
setTimeout
(
cb
,
stepTime
*
1000
);
}
function
refresh
()
{
...
...
src/config.js
浏览文件 @
042fce51
...
...
@@ -482,6 +482,12 @@ define(function() {
maxRadius
:
20
,
density
:
1.0
,
attractiveness
:
1.0
,
// 初始化的随机大小位置
initSize
:
300
,
// 向心力因子,越大向心力越大
centripetal
:
1
,
// 冷却因子
coolDown
:
0.99
,
// 分类里如果有样式会覆盖节点默认样式
categories
:
[],
itemStyle
:
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录