Skip to content

Commit

Permalink
支持normal.color为function
Browse files Browse the repository at this point in the history
close #246
  • Loading branch information
kener committed Mar 16, 2014
1 parent f69bf4a commit 1f06cd8
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 30 deletions.
13 changes: 7 additions & 6 deletions src/chart/bar.js
Original file line number Diff line number Diff line change
Expand Up @@ -672,23 +672,24 @@ define(function(require) {
width : width,
height : height,
brushType : 'both',
color : normalColor,
color : self.getItemStyleColor(normalColor, seriesIndex, dataIndex, data),
radius : normal.borderRadius,
lineWidth : normalBorderWidth,
strokeColor : normal.borderColor
},
highlightStyle : {
color : emphasisColor
|| (typeof normalColor == 'string'
? zrColor.lift(normalColor, -0.3)
: normalColor
),
color : self.getItemStyleColor(emphasisColor, seriesIndex, dataIndex, data),
radius : emphasis.borderRadius,
lineWidth : emphasis.borderWidth,
strokeColor : emphasis.borderColor
},
_orient : orient
};
barShape.highlightStyle.color = barShape.highlightStyle.color
|| (typeof barShape.style.color == 'string'
? zrColor.lift(barShape.style.color, -0.3)
: barShape.style.color
);
// 考虑线宽的显示优化
if (normalBorderWidth > 0
&& barShape.style.height > normalBorderWidth
Expand Down
4 changes: 2 additions & 2 deletions src/chart/line.js
Original file line number Diff line number Diff line change
Expand Up @@ -486,8 +486,8 @@ define(function(require) {
lineColor = self.query(
serie, 'itemStyle.normal.lineStyle.color'
);
normalColor = self.query(
serie, 'itemStyle.normal.color'
normalColor = self.getItemStyleColor(
self.query(serie, 'itemStyle.normal.color'), seriesIndex, -1
);

isFill = typeof self.query(
Expand Down
11 changes: 9 additions & 2 deletions src/chart/map.js
Original file line number Diff line number Diff line change
Expand Up @@ -670,10 +670,17 @@ define(function(require) {

// 常规设置
style.brushType = 'both';
style.color = color || self.deepQuery(
style.color = color
|| self.getItemStyleColor(
self.deepQuery(queryTarget, 'itemStyle.normal.color'),
data.seriesIndex,
-1,
data
)
|| self.deepQuery(
queryTarget,
'itemStyle.normal.areaStyle.color'
);
);
style.strokeColor = self.deepQuery(
queryTarget,
'itemStyle.normal.borderColor'
Expand Down
6 changes: 4 additions & 2 deletions src/chart/pie.js
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,10 @@ define(function(require) {
queryTarget,
'itemStyle.emphasis'
) || {};
var normalColor = normal.color || defaultColor;
var emphasisColor = emphasis.color
var normalColor = self.getItemStyleColor(normal.color, seriesIndex, dataIndex, data)
|| defaultColor;

var emphasisColor = self.getItemStyleColor(emphasis.color, seriesIndex, dataIndex, data)
|| (typeof normalColor == 'string'
? zrColor.lift(normalColor, -0.2)
: normalColor
Expand Down
21 changes: 16 additions & 5 deletions src/chart/radar.js
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,13 @@
) {
// 多级控制
var queryTarget = [data, serie];
var nColor = self.deepQuery(
queryTarget, 'itemStyle.normal.color'
var nColor = self.getItemStyleColor(
self.deepQuery(
queryTarget, 'itemStyle.normal.color'
),
seriesIndex,
dataIndex,
data
);
var nLineWidth = self.deepQuery(
queryTarget, 'itemStyle.normal.lineStyle.width'
Expand Down Expand Up @@ -237,9 +242,15 @@
|| nAreaColor
|| nColor
|| zrColor.alpha(defaultColor,0.5),
strokeColor : self.deepQuery(
queryTarget, 'itemStyle.emphasis.color'
) || nColor || defaultColor,
strokeColor : self.getItemStyleColor(
self.deepQuery(
queryTarget, 'itemStyle.emphasis.color'
),
seriesIndex,
dataIndex,
data
)
|| nColor || defaultColor,
lineWidth : self.deepQuery(
queryTarget,
'itemStyle.emphasis.lineStyle.width'
Expand Down
27 changes: 14 additions & 13 deletions src/chart/scatter.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,24 +51,20 @@ define(function(require) {
_sIndex2ShapeMap[i] = self.query(serie, 'symbol')
|| _symbol[i % _symbol.length];
if (legend){
self.selectedMap[serieName] =
legend.isSelected(serieName);
self.selectedMap[serieName] = legend.isSelected(serieName);

_sIndex2ColorMap[i] =
zrColor.alpha(legend.getColor(serieName),0.5);
_sIndex2ColorMap[i] = zrColor.alpha(legend.getColor(serieName), 0.5);

iconShape = legend.getItemShape(serieName);
if (iconShape) {
// 回调legend,换一个更形象的icon
iconShape.shape = 'icon';
var iconType = _sIndex2ShapeMap[i];
iconShape.style.brushType = iconType.match('empty')
? 'stroke' : 'both';
iconType = iconType.replace('empty', '')
.toLowerCase();
iconShape.style.brushType = iconType.match('empty') ? 'stroke' : 'both';
iconType = iconType.replace('empty', '').toLowerCase();

if (iconType.match('star')) {
iconShape.style.n =
(iconType.replace('star','') - 0) || 5;
iconShape.style.n = (iconType.replace('star','') - 0) || 5;
iconType = 'star';
}

Expand All @@ -88,7 +84,8 @@ define(function(require) {
iconShape.style.iconType = iconType;
legend.setItemShape(serieName, iconShape);
}
} else {
}
else {
self.selectedMap[serieName] = true;
_sIndex2ColorMap[i] = zr.getColor(i);
}
Expand Down Expand Up @@ -178,8 +175,12 @@ define(function(require) {
if (serie.large && serie.data.length > serie.largeThreshold) {
self.shapeList.push(_getLargeSymbol(
seriesPL,
self.query(
serie, 'itemStyle.normal.color'
self.getItemStyleColor(
self.query(
serie, 'itemStyle.normal.color'
),
seriesIndex,
-1
) || _sIndex2ColorMap[seriesIndex]
));
continue;
Expand Down

0 comments on commit 1f06cd8

Please sign in to comment.