This is an automated email from the ASF dual-hosted git repository. wangzx pushed a commit to branch tweak-line-bolder in repository https://gitbox.apache.org/repos/asf/echarts.git
commit 90d17c15f3c6fa2b3127611e99bcaecac4b8ada3 Author: plainheart <[email protected]> AuthorDate: Thu Mar 11 09:50:50 2021 +0800 tweak(line): tweak #13013 & #13501. - only make line bolder when there is more than one series and blur state - or the user manually specify `lineStyle.width` as `bolder` --- src/chart/line/LineSeries.ts | 5 +---- src/chart/line/LineView.ts | 27 +++++++++++++++++++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/chart/line/LineSeries.ts b/src/chart/line/LineSeries.ts index f940873..0f7cb99 100644 --- a/src/chart/line/LineSeries.ts +++ b/src/chart/line/LineSeries.ts @@ -163,10 +163,7 @@ class LineSeriesModel extends SeriesModel<LineSeriesOption> { }, emphasis: { - scale: true, - lineStyle: { - width: 'bolder' - } + scale: true }, // areaStyle: { // origin of areaStyle. Valid values: diff --git a/src/chart/line/LineView.ts b/src/chart/line/LineView.ts index 10b0b26..b92640a 100644 --- a/src/chart/line/LineView.ts +++ b/src/chart/line/LineView.ts @@ -736,10 +736,7 @@ class LineView extends ChartView { setStatesStylesFromModel(polyline, seriesModel, 'lineStyle'); - if (polyline.style.lineWidth > 0 && seriesModel.get(['emphasis', 'lineStyle', 'width']) === 'bolder') { - const emphasisLineStyle = polyline.getState('emphasis').style; - emphasisLineStyle.lineWidth = polyline.style.lineWidth + 1; - } + this._bolderLine(polyline, seriesModel, ecModel); // Needs seriesIndex for focus getECData(polyline).seriesIndex = seriesModel.seriesIndex; @@ -1172,6 +1169,28 @@ class LineView extends ChartView { } /** + * To determine if the line should be bolder + * + * TODO: + * It's better to disable bolder when data is large, + * but it seems no simple way to figure out. + */ + _bolderLine(polyline: ECPolyline, seriesModel: LineSeriesModel, ecModel: GlobalModel) { + if (polyline.style.lineWidth > 0) { + // only make line bolder when there is more than one series and blur state + // or the user manually specify `lineStyle.width` as `bolder` + // see https://github.com/apache/echarts/pull/13501 + const emphasisLineWidth = seriesModel.get(['emphasis', 'lineStyle', 'width']); + if (emphasisLineWidth === 'bolder' + || (emphasisLineWidth == null && polyline.getState('blur') && ecModel.getSeriesCount() > 1) + ) { + const emphasisLineStyle = polyline.getState('emphasis').style; + emphasisLineStyle.lineWidth = polyline.style.lineWidth + 1; + } + } + } + + /** * @private */ // FIXME Two value axis --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
