Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
半栈学徒
incubator-echarts
提交
0b63ce41
I
incubator-echarts
项目概览
半栈学徒
/
incubator-echarts
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
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,发现更多精彩内容 >>
提交
0b63ce41
编写于
9月 08, 2015
作者:
P
pah100
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dataZoom polar try ...
上级
66125488
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
187 addition
and
13 deletion
+187
-13
src/component/dataZoom/DataZoomLayout.js
src/component/dataZoom/DataZoomLayout.js
+24
-3
src/component/dataZoom/DataZoomModel.js
src/component/dataZoom/DataZoomModel.js
+1
-1
src/component/dataZoom/DataZoomView.js
src/component/dataZoom/DataZoomView.js
+2
-2
src/component/dataZoom/dataZoomAction.js
src/component/dataZoom/dataZoomAction.js
+7
-1
src/component/dataZoom/dataZoomProcessor.js
src/component/dataZoom/dataZoomProcessor.js
+1
-1
src/component/dataZoom/helper.js
src/component/dataZoom/helper.js
+5
-2
src/coord/polar/AxisModel.js
src/coord/polar/AxisModel.js
+51
-3
test/dataZoom-scatter-hv-polar.html
test/dataZoom-scatter-hv-polar.html
+96
-0
未找到文件。
src/component/dataZoom/DataZoomLayout.js
浏览文件 @
0b63ce41
...
...
@@ -125,7 +125,7 @@ define(function (require) {
var
width
;
var
height
;
// If some of x/y/width/height are not specified, auto-adapt according to target grid.
var
gridRect
=
this
.
_find
Gri
dRectForLocating
();
var
gridRect
=
this
.
_find
Coor
dRectForLocating
();
if
(
this
.
_orient
===
'
horizontal
'
)
{
// Horizontal layout
width
=
retrieveValue
(
dataZoomModel
.
get
(
'
width
'
),
gridRect
.
width
);
...
...
@@ -151,7 +151,7 @@ define(function (require) {
/**
* @private
*/
_find
Gri
dRectForLocating
:
function
()
{
_find
Coor
dRectForLocating
:
function
()
{
// Find the grid coresponding to the first axis referred by dataZoom.
var
axisModel
;
var
dataZoomModel
=
this
.
dataZoomModel
;
...
...
@@ -163,10 +163,31 @@ define(function (require) {
axisModel
=
ecModel
.
getComponent
(
dimNames
.
axis
,
axisIndices
[
0
]);
}
});
return
ecModel
// FIXME
// 判断是catesian还是polar
var
rect
;
var
gridIndex
=
axisModel
.
get
(
'
gridIndex
'
);
if
(
gridIndex
!=
null
)
{
rect
=
ecModel
.
getComponent
(
'
grid
'
,
axisModel
.
get
(
'
gridIndex
'
))
.
coordinateSystem
.
getRect
();
}
else
{
// Polar
// FIXME
// 暂时随便写的
var
width
=
this
.
api
.
getWidth
();
var
height
=
this
.
api
.
getHeight
();
rect
=
{
x
:
width
*
0.2
,
y
:
height
*
0.2
,
width
:
width
*
0.6
,
height
:
height
*
0.6
};
}
return
rect
;
},
/**
...
...
src/component/dataZoom/DataZoomModel.js
浏览文件 @
0b63ce41
...
...
@@ -12,7 +12,7 @@ define(function(require) {
type
:
'
dataZoom
'
,
dependencies
:
[
'
xAxis
'
,
'
yAxis
'
,
'
series
'
],
dependencies
:
[
'
xAxis
'
,
'
yAxis
'
,
'
zAxis
'
,
'
radiusAxis
'
,
'
angleAxis
'
,
'
series
'
],
/**
* @protected
...
...
src/component/dataZoom/DataZoomView.js
浏览文件 @
0b63ce41
...
...
@@ -231,8 +231,8 @@ define(function (require) {
this
.
api
.
dispatch
({
type
:
'
dataZoom
'
,
from
:
this
.
uid
,
dataZoom
Range
:
this
.
_layout
.
normalizeToRange
()
,
dataZoom
Model
:
this
.
dataZoomModel
dataZoom
ModelId
:
this
.
dataZoomModel
.
uid
,
dataZoom
Range
:
this
.
_layout
.
normalizeToRange
()
});
}
...
...
src/component/dataZoom/dataZoomAction.js
浏览文件 @
0b63ce41
...
...
@@ -9,12 +9,18 @@ define(function(require) {
var
helper
=
require
(
'
./helper
'
);
echarts
.
registerAction
(
'
dataZoom
'
,
function
(
event
,
ecModel
)
{
var
fromDataZoomModel
=
ecModel
.
getComponentById
(
event
.
dataZoomModelId
);
if
(
!
fromDataZoomModel
)
{
return
;
}
var
linkSet
=
helper
.
findLinkSet
(
zrUtil
.
bind
(
ecModel
.
eachComponent
,
ecModel
,
'
dataZoom
'
),
function
(
model
,
dimNames
)
{
return
model
.
get
(
dimNames
.
axisIndex
);
},
event
.
d
ataZoomModel
fromD
ataZoomModel
);
var
dataZoomRange
=
event
.
dataZoomRange
;
...
...
src/component/dataZoom/dataZoomProcessor.js
浏览文件 @
0b63ce41
...
...
@@ -75,7 +75,7 @@ define(function (require) {
zrUtil
.
each
(
seriesModels
,
function
(
seriesModel
)
{
var
seriesData
=
seriesModel
.
getData
();
if
(
seriesData
)
{
var
seriesExtent
=
seriesData
[
'
getExtent
'
+
dimNames
.
dim
.
toUpperCase
()
]();
var
seriesExtent
=
seriesData
[
dimNames
.
extentGetter
]();
seriesExtent
[
0
]
<
dataExtent
[
0
]
&&
(
dataExtent
[
0
]
=
seriesExtent
[
0
]);
seriesExtent
[
1
]
>
dataExtent
[
1
]
&&
(
dataExtent
[
1
]
=
seriesExtent
[
1
]);
}
...
...
src/component/dataZoom/helper.js
浏览文件 @
0b63ce41
...
...
@@ -7,18 +7,21 @@ define(function(require) {
var
helper
=
{};
var
AXIS_DIMS
=
[
'
x
'
,
'
y
'
];
var
AXIS_DIMS
=
[
'
x
'
,
'
y
'
,
'
z
'
,
'
radius
'
,
'
angle
'
];
// FIXME
// 公用?
helper
.
eachAxisDim
=
function
(
callback
,
context
)
{
zrUtil
.
each
(
AXIS_DIMS
,
function
(
axisDim
)
{
var
capital
=
axisDim
[
0
].
toUpperCase
()
+
axisDim
.
substr
(
1
);
var
names
=
{
axisIndex
:
axisDim
+
'
AxisIndex
'
,
axis
:
axisDim
+
'
Axis
'
,
dim
:
axisDim
,
capital
:
capital
,
index
:
axisDim
+
'
Index
'
,
getter
:
'
get
'
+
axisDim
.
toUpperCase
()
getter
:
'
get
'
+
capital
,
extentGetter
:
'
getExtent
'
+
capital
};
callback
.
call
(
context
,
names
);
});
...
...
src/coord/polar/AxisModel.js
浏览文件 @
0b63ce41
...
...
@@ -3,8 +3,8 @@ define(function(require) {
'
use strict
'
;
var
axisDefault
=
require
(
'
../axisDefault
'
);
var
zrUtil
=
require
(
'
zrender/core/util
'
);
var
ComponentModel
=
require
(
'
../../model/Component
'
);
function
mergeDefault
(
axisOption
,
ecModel
)
{
var
axisType
=
axisOption
.
type
+
'
Axis
'
;
...
...
@@ -14,12 +14,60 @@ define(function(require) {
zrUtil
.
merge
(
axisOption
,
axisDefault
[
axisType
]);
}
var
PolarAxisModel
=
require
(
'
../../model/Component
'
)
.
extend
({
var
PolarAxisModel
=
ComponentModel
.
extend
({
type
:
'
polarAxis
'
,
/**
* @type {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}
*/
axis
:
null
axis
:
null
,
/**
* @override
*/
init
:
function
()
{
ComponentModel
.
prototype
.
init
.
call
(
this
);
var
data
=
this
.
getData
();
if
(
data
)
{
// FIXME
// clone?
/**
* @type {Array}
* @private
*/
this
.
_dataBeforeProcessing
=
data
.
slice
();
}
},
/**
* @public
* @return {Array=} data Can be null
*/
getData
:
function
()
{
return
this
.
get
(
'
data
'
);
},
/**
* @public
* @param {number} start 0-100, null means remain current value.
* @param {number} end 0-100, null means remain current value.
*/
setDataZoomRange
:
function
(
start
,
end
)
{
var
option
=
this
.
option
;
start
!=
null
&&
(
option
.
dataZoomStart
=
start
);
end
!=
null
&&
(
option
.
dataZoomEnd
=
end
);
},
/**
* @override
*/
restoreData
:
function
()
{
// FIXME
// clone?
if
(
this
.
_dataBeforeProcessing
)
{
this
.
option
.
data
=
this
.
_dataBeforeProcessing
.
slice
();
}
}
});
zrUtil
.
merge
(
PolarAxisModel
.
prototype
,
require
(
'
../axisModelCommonMixin
'
));
...
...
test/dataZoom-scatter-hv-polar.html
0 → 100644
浏览文件 @
0b63ce41
<html>
<head>
<meta
charset=
"utf-8"
>
<script
src=
"esl.js"
></script>
<script
src=
"config.js"
></script>
</head>
<body>
<style>
html
,
body
,
#main
{
width
:
100%
;
height
:
100%
;
}
</style>
<div
id=
"main"
></div>
<script>
require
([
'
echarts
'
,
'
echarts/chart/scatter
'
,
'
echarts/component/legend
'
,
'
echarts/component/polar
'
,
'
echarts/component/dataZoom
'
],
function
(
echarts
)
{
var
chart
=
echarts
.
init
(
document
.
getElementById
(
'
main
'
),
null
,
{
renderer
:
'
canvas
'
});
var
data1
=
[];
var
data2
=
[];
var
data3
=
[];
for
(
var
i
=
0
;
i
<
100
;
i
++
)
{
data1
.
push
([
Math
.
random
()
*
5
,
Math
.
random
()
*
360
]);
data2
.
push
([
Math
.
random
()
*
5
,
Math
.
random
()
*
360
]);
data3
.
push
([
Math
.
random
()
*
10
,
Math
.
random
()
*
360
]);
}
chart
.
setOption
({
legend
:
{
data
:
[
'
scatter
'
,
'
scatter2
'
,
'
scatter3
'
]
},
polar
:
{
},
angleAxis
:
{
type
:
'
value
'
},
radiusAxis
:
{
axisAngle
:
0
},
dataZoom
:
[
{
show
:
true
,
orient
:
'
vertical
'
,
angleAxisIndex
:
[
0
]
},
{
show
:
true
,
orient
:
'
horizontal
'
,
radiusAxisIndex
:
[
0
]
}
],
series
:
[{
coordinateSystem
:
'
polar
'
,
// FIXME
// 现在必须得设置这个,能不能polar和catesian一样,要不然很多特殊处理。
angleAxisIndex
:
0
,
radiusAxisIndex
:
0
,
name
:
'
scatter
'
,
type
:
'
scatter
'
,
symbolSize
:
10
,
data
:
data1
},
{
coordinateSystem
:
'
polar
'
,
angleAxisIndex
:
0
,
radiusAxisIndex
:
0
,
name
:
'
scatter2
'
,
type
:
'
scatter
'
,
symbolSize
:
10
,
data
:
data2
},
{
coordinateSystem
:
'
polar
'
,
angleAxisIndex
:
0
,
radiusAxisIndex
:
0
,
name
:
'
scatter3
'
,
type
:
'
scatter
'
,
symbolSize
:
10
,
data
:
data3
}]
});
})
</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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录