Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
missman
incubator-echarts
提交
b685ee67
I
incubator-echarts
项目概览
missman
/
incubator-echarts
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,发现更多精彩内容 >>
提交
b685ee67
编写于
1月 11, 2018
作者:
S
sushuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tweak default label.
上级
0585ee9a
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
113 addition
and
113 deletion
+113
-113
src/chart/custom.js
src/chart/custom.js
+10
-12
src/chart/funnel/FunnelView.js
src/chart/funnel/FunnelView.js
+2
-1
src/chart/helper/Line.js
src/chart/helper/Line.js
+9
-11
src/chart/helper/Symbol.js
src/chart/helper/Symbol.js
+14
-11
src/chart/helper/createListFromArray.js
src/chart/helper/createListFromArray.js
+2
-2
src/chart/helper/labelHelper.js
src/chart/helper/labelHelper.js
+23
-25
src/chart/pie/PieView.js
src/chart/pie/PieView.js
+2
-2
src/chart/themeRiver/ThemeRiverSeries.js
src/chart/themeRiver/ThemeRiverSeries.js
+2
-2
src/data/List.js
src/data/List.js
+0
-8
src/data/helper/completeDimensions.js
src/data/helper/completeDimensions.js
+2
-0
src/data/helper/dimensionHelper.js
src/data/helper/dimensionHelper.js
+31
-20
src/util/graphic.js
src/util/graphic.js
+10
-9
src/util/model.js
src/util/model.js
+1
-1
test/scatter.html
test/scatter.html
+5
-9
未找到文件。
src/chart/custom.js
浏览文件 @
b685ee67
...
...
@@ -366,19 +366,17 @@ function makeRenderItem(customSeries, data, ecModel, api) {
var
opacity
=
data
.
getItemVisual
(
dataIndexInside
,
'
opacity
'
);
opacity
!=
null
&&
(
itemStyle
.
opacity
=
opacity
);
if
(
!
data
.
getDimensionBrief
(
'
noDefaultLabel
'
))
{
graphicUtil
.
setTextStyle
(
itemStyle
,
currLabelNormalModel
,
null
,
{
autoColor
:
currVisualColor
,
isRectText
:
true
});
graphicUtil
.
setTextStyle
(
itemStyle
,
currLabelNormalModel
,
null
,
{
autoColor
:
currVisualColor
,
isRectText
:
true
});
itemStyle
.
text
=
currLabelNormalModel
.
getShallow
(
'
show
'
)
?
zrUtil
.
retrieve2
(
customSeries
.
getFormattedLabel
(
dataIndexInside
,
'
normal
'
),
getDefaultLabel
(
data
,
dataIndexInside
)
)
:
null
;
}
itemStyle
.
text
=
currLabelNormalModel
.
getShallow
(
'
show
'
)
?
zrUtil
.
retrieve2
(
customSeries
.
getFormattedLabel
(
dataIndexInside
,
'
normal
'
),
getDefaultLabel
(
data
,
dataIndexInside
)
)
:
null
;
extra
&&
zrUtil
.
extend
(
itemStyle
,
extra
);
return
itemStyle
;
...
...
src/chart/funnel/FunnelView.js
浏览文件 @
b685ee67
import
*
as
graphic
from
'
../../util/graphic
'
;
import
*
as
zrUtil
from
'
zrender/src/core/util
'
;
import
ChartView
from
'
../../view/Chart
'
;
import
{
getDefaultLabel
}
from
'
../helper/labelHelper
'
;
/**
* Piece of pie including Sector, Label, LabelLine
...
...
@@ -133,7 +134,7 @@ funnelPieceProto._updateLabel = function (data, idx) {
{
labelFetcher
:
data
.
hostModel
,
labelDataIndex
:
idx
,
defaultText
:
data
.
getName
(
idx
),
defaultText
:
getDefaultLabel
(
data
,
idx
,
true
),
autoColor
:
visualColor
,
useInsideStyle
:
!!
labelLayout
.
inside
},
...
...
src/chart/helper/Line.js
浏览文件 @
b685ee67
...
...
@@ -296,23 +296,21 @@ lineProto._updateCommonStl = function (lineData, idx, seriesScope) {
var
label
=
this
.
childOfName
(
'
label
'
);
var
defaultLabelColor
;
var
defaultText
;
var
normalText
;
var
emphasisText
;
if
(
showLabel
||
hoverShowLabel
)
{
var
rawVal
=
seriesModel
.
getRawValue
(
idx
);
defaultText
=
rawVal
==
null
?
defaultText
=
lineData
.
getName
(
idx
)
:
isFinite
(
rawVal
)
?
round
(
rawVal
)
:
rawVal
;
defaultLabelColor
=
visualColor
||
'
#000
'
;
normalText
=
zrUtil
.
retrieve2
(
seriesModel
.
getFormattedLabel
(
idx
,
'
normal
'
,
lineData
.
dataType
),
defaultText
);
normalText
=
seriesModel
.
getFormattedLabel
(
idx
,
'
normal
'
,
lineData
.
dataType
);
if
(
normalText
==
null
)
{
var
rawVal
=
seriesModel
.
getRawValue
(
idx
);
normalText
=
rawVal
==
null
?
lineData
.
getName
(
idx
)
:
isFinite
(
rawVal
)
?
round
(
rawVal
)
:
rawVal
;
}
emphasisText
=
zrUtil
.
retrieve2
(
seriesModel
.
getFormattedLabel
(
idx
,
'
emphasis
'
,
lineData
.
dataType
),
normalText
...
...
src/chart/helper/Symbol.js
浏览文件 @
b685ee67
...
...
@@ -260,17 +260,20 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
var
useNameLabel
=
seriesScope
&&
seriesScope
.
useNameLabel
;
if
(
useNameLabel
||
!
data
.
getDimensionBrief
(
'
noDefaultLabel
'
))
{
graphic
.
setLabelStyle
(
elStyle
,
hoverItemStyle
,
labelModel
,
hoverLabelModel
,
{
labelFetcher
:
seriesModel
,
labelDataIndex
:
idx
,
defaultText
:
useNameLabel
?
data
.
getName
(
idx
)
:
getDefaultLabel
(
data
,
idx
),
isRectText
:
true
,
autoColor
:
color
}
);
graphic
.
setLabelStyle
(
elStyle
,
hoverItemStyle
,
labelModel
,
hoverLabelModel
,
{
labelFetcher
:
seriesModel
,
labelDataIndex
:
idx
,
defaultText
:
getLabelDefaultText
,
isRectText
:
true
,
autoColor
:
color
}
);
// Do not execute util needed.
function
getLabelDefaultText
(
idx
,
opt
)
{
return
useNameLabel
?
data
.
getName
(
idx
)
:
getDefaultLabel
(
data
,
idx
);
}
symbolPath
.
off
(
'
mouseover
'
)
...
...
src/chart/helper/createListFromArray.js
浏览文件 @
b685ee67
...
...
@@ -2,7 +2,7 @@ import * as zrUtil from 'zrender/src/core/util';
import
List
from
'
../../data/List
'
;
import
createDimensions
from
'
../../data/helper/createDimensions
'
;
import
{
SOURCE_FORMAT_ORIGINAL
}
from
'
../../data/helper/sourceHelper
'
;
import
{
get
Value
TypeByAxis
}
from
'
../../data/helper/dimensionHelper
'
;
import
{
get
Dimension
TypeByAxis
}
from
'
../../data/helper/dimensionHelper
'
;
import
{
getDataItemValue
}
from
'
../../util/model
'
;
import
CoordinateSystem
from
'
../../CoordinateSystem
'
;
import
{
getCoordSysDefineBySeries
}
from
'
../../model/referHelper
'
;
...
...
@@ -25,7 +25,7 @@ function createListFromArray(source, seriesModel) {
var
axisModel
=
coordSysDefine
.
axisMap
.
get
(
dim
);
if
(
axisModel
)
{
var
axisType
=
axisModel
.
get
(
'
type
'
);
dimInfo
.
type
=
get
Value
TypeByAxis
(
axisType
);
dimInfo
.
type
=
get
Dimension
TypeByAxis
(
axisType
);
dimInfo
.
stackable
=
isStackable
(
axisType
);
}
return
dimInfo
;
...
...
src/chart/helper/labelHelper.js
浏览文件 @
b685ee67
import
{
SOURCE_FORMAT_ORIGINAL
}
from
'
../../data/helper/sourceHelper
'
;
// Get concrete dim.
function
getLabelValueDim
(
data
)
{
var
labelDim
=
data
.
mapDimension
(
'
label
'
);
return
labelDim
?
labelDim
// Only if the source is own to a series, we can use the last.
// If the source is from dataset, it probably be shared by
// different series.
:
data
.
getProvider
().
getSource
().
sourceFormat
===
SOURCE_FORMAT_ORIGINAL
?
data
.
getDimensionBrief
(
'
lastValueType
'
)
:
null
;
}
/**
* @param {module:echarts/data/List} data
* @param {number} dataIndex
* @return {string} label string. Not null/undefined
*/
export
function
getDefaultLabel
(
data
,
dataIndex
)
{
var
val
=
data
.
get
(
getLabelValueDim
(
data
),
dataIndex
);
return
(
val
==
null
||
isNaN
(
val
))
?
''
:
val
;
}
export
function
getDefaultLabel
(
data
,
dataIndex
,
orName
)
{
var
labelDims
=
data
.
mapDimension
(
'
defaultedLabel
'
,
true
);
var
len
=
labelDims
.
length
;
export
function
getLabelFromName
(
data
,
dataIndex
)
{
var
labelDim
=
data
.
mapDimension
(
'
label
'
);
return
labelDim
?
data
.
get
(
labelDim
,
dataIndex
)
:
data
.
getName
(
dataIndex
);
// Simple optimization (in lots of cases, label dims length is 1)
if
(
len
===
1
)
{
var
val
=
data
.
get
(
labelDims
[
0
],
dataIndex
,
true
);
return
formatLabelValue
(
val
);
}
else
if
(
len
)
{
var
vals
=
[];
for
(
var
i
=
0
;
i
<
labelDims
.
length
;
i
++
)
{
var
val
=
data
.
get
(
labelDims
[
i
],
dataIndex
,
true
);
vals
.
push
(
formatLabelValue
(
val
));
}
return
vals
.
join
(
'
,
'
);
}
else
if
(
orName
)
{
return
data
.
getName
(
dataIndex
);
}
}
function
formatLabelValue
(
val
)
{
return
(
val
==
null
||
isNaN
(
val
))
?
''
:
val
;
}
src/chart/pie/PieView.js
浏览文件 @
b685ee67
import
*
as
zrUtil
from
'
zrender/src/core/util
'
;
import
*
as
graphic
from
'
../../util/graphic
'
;
import
ChartView
from
'
../../view/Chart
'
;
import
{
get
LabelFromName
}
from
'
../helper/labelHelper
'
;
import
{
get
DefaultLabel
}
from
'
../helper/labelHelper
'
;
/**
* @param {module:echarts/model/Series} seriesModel
...
...
@@ -235,7 +235,7 @@ piePieceProto._updateLabel = function (data, idx) {
{
labelFetcher
:
data
.
hostModel
,
labelDataIndex
:
idx
,
defaultText
:
get
LabelFromName
(
data
,
idx
),
defaultText
:
get
DefaultLabel
(
data
,
idx
,
true
),
autoColor
:
visualColor
,
useInsideStyle
:
!!
labelLayout
.
inside
},
...
...
src/chart/themeRiver/ThemeRiverSeries.js
浏览文件 @
b685ee67
...
...
@@ -5,7 +5,7 @@
import
SeriesModel
from
'
../../model/Series
'
;
import
createDimensions
from
'
../../data/helper/createDimensions
'
;
import
{
get
Value
TypeByAxis
}
from
'
../../data/helper/dimensionHelper
'
;
import
{
get
Dimension
TypeByAxis
}
from
'
../../data/helper/dimensionHelper
'
;
import
List
from
'
../../data/List
'
;
import
*
as
zrUtil
from
'
zrender/src/core/util
'
;
import
{
encodeHTML
}
from
'
../../util/format
'
;
...
...
@@ -142,7 +142,7 @@ var ThemeRiverSeries = SeriesModel.extend({
sysDimensions
:
[
{
name
:
'
single
'
,
type
:
get
Value
TypeByAxis
(
axisType
)
type
:
get
Dimension
TypeByAxis
(
axisType
)
},
{
name
:
'
value
'
,
...
...
src/data/List.js
浏览文件 @
b685ee67
...
...
@@ -313,14 +313,6 @@ listProto.mapDimension = function (coordDim, idx) {
:
null
;
};
/**
* @type {string} Specially, can also be 'lastValueType', 'noDefaultLabel'
* @return {*}
*/
listProto
.
getDimensionBrief
=
function
(
type
)
{
return
this
.
_dimensionsSummary
.
brief
[
type
];
};
/**
* Initialize from data
* @param {Array.<Object|number|Array>} data source or data or data provider.
...
...
src/data/helper/completeDimensions.js
浏览文件 @
b685ee67
...
...
@@ -36,6 +36,7 @@ import {OTHER_DIMENSIONS} from './dimensionHelper';
* @return {Array.<Object>} [{
* name: string mandatory,
* coordDim: string mandatory,
* isSysCoord: boolean True if the coord is from sys dimension.
* coordDimIndex: number mandatory,
* type: string optional,
* tooltipName: string optional,
...
...
@@ -135,6 +136,7 @@ function completeDimensions(sysDims, source, opt) {
if
(
resultItem
.
name
==
null
&&
sysDimItemDimsDef
)
{
resultItem
.
name
=
resultItem
.
tooltipName
=
sysDimItemDimsDef
[
coordDimIndex
];
}
resultItem
.
isSysCoord
=
true
;
// FIXME refactor, currently only used in case: {otherDims: {tooltip: false}}
sysDimItemOtherDims
&&
defaults
(
resultItem
.
otherDims
,
sysDimItemOtherDims
);
});
...
...
src/data/helper/dimensionHelper.js
浏览文件 @
b685ee67
...
...
@@ -7,8 +7,9 @@ export var OTHER_DIMENSIONS = createHashMap([
export
function
summarizeDimensions
(
data
)
{
var
summary
=
{};
var
encode
=
summary
.
encode
=
{};
var
defaultedLabel
=
[];
each
(
data
.
dimensions
,
function
(
dimName
)
{
var
dimItem
=
data
.
getDimensionInfo
(
dimName
);
...
...
@@ -21,7 +22,11 @@ export function summarizeDimensions(data) {
if
(
!
encode
.
hasOwnProperty
(
coordDim
))
{
coordDimArr
=
encode
[
coordDim
]
=
[];
}
coordDimArr
[
dimItem
.
coordDimIndex
]
=
dimItem
.
name
;
coordDimArr
[
dimItem
.
coordDimIndex
]
=
dimName
;
if
(
dimItem
.
isSysCoord
&&
mayLabelDimType
(
dimItem
.
type
))
{
defaultedLabel
.
push
(
dimName
);
}
}
OTHER_DIMENSIONS
.
each
(
function
(
v
,
otherDim
)
{
...
...
@@ -37,17 +42,17 @@ export function summarizeDimensions(data) {
});
});
var
labelEncode
=
summary
.
encode
.
label
;
var
briefLastValueType
=
findTheLastValueDimensions
(
data
);
summary
.
brief
=
{
lastValueType
:
briefLastValueType
,
noDefaultLabel
:
!
(
labelEncode
&&
labelEncode
[
0
])
&&
briefLastValueType
==
null
}
;
var
encodeLabel
=
encode
.
label
;
if
(
encodeLabel
&&
encodeLabel
.
length
)
{
defaultedLabel
=
encode
.
label
.
slice
();
}
encode
.
defaultedLabel
=
defaultedLabel
;
return
summary
;
}
export
function
get
Value
TypeByAxis
(
axisType
)
{
export
function
get
Dimension
TypeByAxis
(
axisType
)
{
return
axisType
===
'
category
'
?
'
ordinal
'
:
axisType
===
'
time
'
...
...
@@ -55,15 +60,21 @@ export function getValueTypeByAxis(axisType) {
:
'
float
'
;
}
function
findTheLastValueDimensions
(
data
)
{
// Get last value dim
var
dimensions
=
data
.
dimensions
.
slice
();
var
valueType
;
var
valueDim
;
while
(
dimensions
.
length
&&
(
valueDim
=
dimensions
.
pop
(),
valueType
=
data
.
getDimensionInfo
(
valueDim
).
type
,
valueType
===
'
ordinal
'
||
valueType
===
'
time
'
))
{}
// jshint ignore:line
return
valueDim
;
function
mayLabelDimType
(
dimType
)
{
// In most cases, ordinal and time do not suitable for label.
// Ordinal info can be displayed on axis. Time is too long.
return
!
(
dimType
===
'
ordinal
'
||
dimType
===
'
time
'
);
}
// function findTheLastDimMayLabel(data) {
// // Get last value dim
// var dimensions = data.dimensions.slice();
// var valueType;
// var valueDim;
// while (dimensions.length && (
// valueDim = dimensions.pop(),
// valueType = data.getDimensionInfo(valueDim).type,
// valueType === 'ordinal' || valueType === 'time'
// )) {} // jshint ignore:line
// return valueDim;
// }
src/util/graphic.js
浏览文件 @
b685ee67
...
...
@@ -457,7 +457,7 @@ export function setHoverStyle(el, hoverStyle, opt) {
* @param {module:echarts/model/Model} normalModel
* @param {module:echarts/model/Model} emphasisModel
* @param {Object} opt Check `opt` of `setTextStyleCommon` to find other props.
* @param {
Object
} [opt.defaultText]
* @param {
string|Function
} [opt.defaultText]
* @param {module:echarts/model/Model} [opt.labelFetcher] Fetch text by
* `opt.labelFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex)`
* @param {module:echarts/model/Model} [opt.labelDataIndex] Fetch text by
...
...
@@ -487,14 +487,15 @@ export function setLabelStyle(
// Consider performance, only fetch label when necessary.
// If `normal.show` is `false` and `emphasis.show` is `true` and `emphasis.formatter` is not set,
// label should be displayed, where text is fetched by `normal.formatter` or `opt.defaultText`.
var
baseText
=
(
showNormal
||
showEmphasis
)
?
zrUtil
.
retrieve2
(
labelFetcher
?
labelFetcher
.
getFormattedLabel
(
labelDataIndex
,
'
normal
'
,
null
,
labelDimIndex
)
:
null
,
opt
.
defaultText
)
:
null
;
var
baseText
;
if
(
showNormal
||
showEmphasis
)
{
if
(
labelFetcher
)
{
baseText
=
labelFetcher
.
getFormattedLabel
(
labelDataIndex
,
'
normal
'
,
null
,
labelDimIndex
);
}
if
(
baseText
==
null
)
{
baseText
=
zrUtil
.
isFunction
(
opt
.
defaultText
)
?
opt
.
defaultText
(
labelDataIndex
,
opt
)
:
opt
.
defaultText
;
}
}
var
normalStyleText
=
showNormal
?
baseText
:
null
;
var
emphasisStyleText
=
showEmphasis
?
zrUtil
.
retrieve2
(
...
...
src/util/model.js
浏览文件 @
b685ee67
...
...
@@ -164,7 +164,7 @@ export var dataFormatMixin = {
* @param {string} [dataType]
* @param {number} [dimIndex]
* @param {string} [labelProp='label']
* @return {string}
* @return {string}
If not formatter, return null/undefined
*/
getFormattedLabel
:
function
(
dataIndex
,
status
,
dataType
,
dimIndex
,
labelProp
)
{
status
=
status
||
'
normal
'
;
...
...
test/scatter.html
浏览文件 @
b685ee67
...
...
@@ -95,8 +95,8 @@
{
name
:
names
[
1
],
type
:
'
scatter
'
,
label
:
{
emphasis
:
{
emphasis
:
{
label
:
{
show
:
true
,
position
:
'
top
'
,
formatter
:
function
(
params
)
{
...
...
@@ -108,10 +108,8 @@
return
val
[
2
]
*
40
;
},
itemStyle
:
{
normal
:
{
color
:
function
(
params
)
{
return
'
rgba(30, 70, 50,
'
+
params
.
value
[
2
]
+
'
)
'
;
}
color
:
function
(
params
)
{
return
'
rgba(30, 70, 50,
'
+
params
.
value
[
2
]
+
'
)
'
;
}
},
data
:
data2
...
...
@@ -120,9 +118,7 @@
name
:
names
[
2
],
type
:
'
scatter
'
,
label
:
{
normal
:
{
show
:
true
}
show
:
true
},
symbolSize
:
function
(
val
)
{
return
val
[
2
]
*
40
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录