Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
1127323b
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,发现更多精彩内容 >>
提交
1127323b
编写于
4月 30, 2014
作者:
K
kener
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
categoryAxis 大规模数据优化
上级
2b39f70c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
33 deletion
+29
-33
src/component/categoryAxis.js
src/component/categoryAxis.js
+29
-33
未找到文件。
src/component/categoryAxis.js
浏览文件 @
1127323b
...
...
@@ -32,36 +32,23 @@ define(function (require) {
CategoryAxis
.
prototype
=
{
type
:
ecConfig
.
COMPONENT_TYPE_AXIS_CATEGORY
,
_reformLabel
:
function
()
{
var
data
=
zrUtil
.
clone
(
this
.
option
.
data
);
var
axisFormatter
=
this
.
option
.
axisLabel
.
formatter
;
var
formatter
;
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
formatter
=
data
[
i
].
formatter
||
axisFormatter
;
if
(
formatter
)
{
if
(
typeof
formatter
==
'
function
'
)
{
data
[
i
]
=
formatter
(
typeof
data
[
i
].
value
!=
'
undefined
'
?
data
[
i
].
value
:
data
[
i
]
);
}
else
if
(
typeof
formatter
==
'
string
'
)
{
data
[
i
]
=
formatter
.
replace
(
'
{value}
'
,
typeof
data
[
i
].
value
!=
'
undefined
'
?
data
[
i
].
value
:
data
[
i
]
);
}
_getReformedLabel
:
function
(
idx
)
{
var
data
=
typeof
this
.
option
.
data
[
idx
].
value
!=
'
undefined
'
?
this
.
option
.
data
[
idx
].
value
:
this
.
option
.
data
[
idx
];
var
formatter
=
this
.
option
.
data
[
idx
].
formatter
||
this
.
option
.
axisLabel
.
formatter
;
if
(
formatter
)
{
if
(
typeof
formatter
==
'
function
'
)
{
data
=
formatter
(
data
);
}
else
{
data
[
i
]
=
typeof
data
[
i
].
value
!=
'
undefined
'
?
data
[
i
].
value
:
data
[
i
];
else
if
(
typeof
formatter
==
'
string
'
)
{
data
=
formatter
.
replace
(
'
{value}
'
,
data
);
}
}
return
data
;
},
/**
* 计算标签显示挑选间隔
*/
...
...
@@ -81,11 +68,13 @@ define(function (require) {
var
isEnough
=
false
;
var
labelSpace
;
var
labelSize
;
var
step
=
Math
.
floor
(
1
/
gap
);
step
=
step
<
1
?
1
:
step
;
interval
=
Math
.
floor
(
15
/
gap
);
while
(
!
isEnough
&&
interval
<
dataLength
)
{
interval
++
;
isEnough
=
true
;
labelSpace
=
gap
*
interval
-
10
;
// 标签左右至少间隔为5
px
labelSpace
=
Math
.
floor
(
gap
*
interval
);
// 标签左右至少间隔为3
px
for
(
var
i
=
Math
.
floor
((
dataLength
-
1
)
/
interval
)
*
interval
;
i
>=
0
;
i
-=
interval
)
{
...
...
@@ -95,7 +84,7 @@ define(function (require) {
}
else
if
(
data
[
i
].
textStyle
)
{
labelSize
=
zrArea
.
getTextWidth
(
this
.
_
labelData
[
i
]
,
this
.
_
getReformedLabel
(
i
)
,
this
.
getFont
(
zrUtil
.
merge
(
data
[
i
].
textStyle
,
...
...
@@ -105,10 +94,17 @@ define(function (require) {
);
}
else
{
/*
labelSize = zrArea.getTextWidth(
this
.
_
labelData
[
i
]
,
this._
getReformedLabel(i)
,
font
);
*/
// 不定义data级特殊文本样式,用fontSize优化getTextWidth
var
label
=
this
.
_getReformedLabel
(
i
)
+
''
;
var
wLen
=
(
label
.
match
(
/
\w
/g
)
||
''
).
length
;
var
oLen
=
label
.
length
-
wLen
;
labelSize
=
wLen
*
fontSize
/
2
+
oLen
*
fontSize
;
}
if
(
labelSpace
<
labelSize
)
{
...
...
@@ -155,7 +151,7 @@ define(function (require) {
*/
_buildShape
:
function
()
{
// 标签文字格式化
this
.
_labelData
=
this
.
_reformLabel
();
//
this._labelData = this._reformLabel();
// 标签显示的挑选间隔
this
.
_interval
=
this
.
_getInterval
();
...
...
@@ -349,7 +345,7 @@ define(function (require) {
}
for
(
var
i
=
0
;
i
<
dataLength
;
i
+=
this
.
_interval
)
{
if
(
this
.
_
labelData
[
i
]
===
''
)
{
if
(
this
.
_
getReformedLabel
(
i
)
===
''
)
{
// 空文本优化
continue
;
}
...
...
@@ -365,7 +361,7 @@ define(function (require) {
x
:
this
.
getCoordByIndex
(
i
),
y
:
yPosition
,
color
:
dataTextStyle
.
color
,
text
:
this
.
_
labelData
[
i
]
,
text
:
this
.
_
getReformedLabel
(
i
)
,
textFont
:
this
.
getFont
(
dataTextStyle
),
textAlign
:
dataTextStyle
.
align
||
'
center
'
,
textBaseline
:
dataTextStyle
.
baseline
||
baseLine
...
...
@@ -400,7 +396,7 @@ define(function (require) {
}
for
(
var
i
=
0
;
i
<
dataLength
;
i
+=
this
.
_interval
)
{
if
(
this
.
_
labelData
[
i
]
===
''
)
{
if
(
this
.
_
getReformedLabel
(
i
)
===
''
)
{
// 空文本优化
continue
;
}
...
...
@@ -416,7 +412,7 @@ define(function (require) {
x
:
xPosition
,
y
:
this
.
getCoordByIndex
(
i
),
color
:
dataTextStyle
.
color
,
text
:
this
.
_
labelData
[
i
]
,
text
:
this
.
_
getReformedLabel
(
i
)
,
textFont
:
this
.
getFont
(
dataTextStyle
),
textAlign
:
dataTextStyle
.
align
||
align
,
textBaseline
:
dataTextStyle
.
baseline
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录