This is an automated email from the ASF dual-hosted git repository. sushuang pushed a commit to branch next in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
The following commit(s) were added to refs/heads/next by this push: new 2d1c701 fix: fix parallel smooth update. fix #13302 . 2d1c701 is described below commit 2d1c70115e693be141e55b8e2ab6f1d6a57c2c36 Author: 100pah <sushuang0...@gmail.com> AuthorDate: Sat Sep 19 19:08:20 2020 +0800 fix: fix parallel smooth update. fix #13302 . --- src/chart/parallel/ParallelView.ts | 13 ++-- test/parallel-feature.html | 139 +++++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 7 deletions(-) diff --git a/src/chart/parallel/ParallelView.ts b/src/chart/parallel/ParallelView.ts index 9a00f5e..af3cc25 100644 --- a/src/chart/parallel/ParallelView.ts +++ b/src/chart/parallel/ParallelView.ts @@ -27,6 +27,8 @@ import ExtensionAPI from '../../ExtensionAPI'; import { StageHandlerProgressParams, ParsedValue, Payload } from '../../util/types'; import Parallel from '../../coord/parallel/Parallel'; import { OptionAxisType } from '../../coord/axisCommonTypes'; +import { numericToNumber } from '../../util/number'; +import { eqNaN } from 'zrender/src/core/util'; const DEFAULT_SMOOTH = 0.3; @@ -126,9 +128,6 @@ class ParallelView extends ChartView { } } - /** - * @override - */ remove() { this._dataGroup && this._dataGroup.removeAll(); this._data = null; @@ -185,10 +184,10 @@ function addEl(data: List, dataGroup: graphic.Group, dataIndex: number, dimensio function makeSeriesScope(seriesModel: ParallelSeriesModel): ParallelDrawSeriesScope { let smooth = seriesModel.get('smooth', true); smooth === true && (smooth = DEFAULT_SMOOTH); + smooth = numericToNumber(smooth); + eqNaN(smooth) && (smooth = 0); - return { - smooth: smooth != null ? +smooth : DEFAULT_SMOOTH - }; + return { smooth }; } function updateElCommon( @@ -199,7 +198,7 @@ function updateElCommon( ) { el.useStyle(data.getItemVisual(dataIndex, 'style')); el.style.fill = null; - seriesScope.smooth && (el.shape.smooth = seriesScope.smooth); + el.setShape('smooth', seriesScope.smooth); const itemModel = data.getItemModel<ParallelSeriesDataItemOption>(dataIndex); const emphasisModel = itemModel.getModel('emphasis'); diff --git a/test/parallel-feature.html b/test/parallel-feature.html new file mode 100644 index 0000000..2cd9cf4 --- /dev/null +++ b/test/parallel-feature.html @@ -0,0 +1,139 @@ +<!DOCTYPE html> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + + +<html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <script src="lib/esl.js"></script> + <script src="lib/config.js"></script> + <script src="lib/jquery.min.js"></script> + <script src="lib/facePrint.js"></script> + <script src="lib/testHelper.js"></script> + <!-- <script src="ut/lib/canteen.js"></script> --> + <link rel="stylesheet" href="lib/reset.css" /> + </head> + <body> + <style> + </style> + + + + <div id="change-smooth"></div> + + + + + + + + + + <script> + require(['echarts'/*, 'map/js/china' */], function (echarts) { + var option; + + function generate_data(n, m, lb, ub) { + let s = []; + for (let i = 0; i < n; i++) { + let vec = []; + for (let j = 0; j < m; j++) { + vec.push(lb + (Math.random() * (ub - lb))); + } + s.push(vec); + } + return s; + } + data = generate_data(20, 3, 0.0, 1.0); + + var option = { + parallelAxis: [{ + dim: 0, + name: 'f0' + }, + { + dim: 1, + name: 'f1' + }, + { + dim: 2, + name: 'f2' + } + ], + legend: { + data: "data", + }, + series: [{ + name: "data", + type: "parallel", + data: data, + smooth: 0, + lineStyle: { + color: 'red', + }, + }, ], + }; + + function updateSmooth(smoothValue) { + chart.setOption({ + series: { + smooth: smoothValue + } + }); + } + + var chart = testHelper.create(echarts, 'change-smooth', { + title: [ + 'Test Case Description of main0', + '(Muliple lines and **emphasis** are supported in description)' + ], + option: option, + width: 600, + height: 300, + buttons: [{ + text: 'smooth: true', + onclick: function () { + updateSmooth(true); + } + }, { + text: 'smooth: false', + onclick: function () { + updateSmooth(false); + } + }, { + text: 'smooth: 0.5', + onclick: function () { + updateSmooth(0.5); + } + }, { + text: 'smooth: 0', + onclick: function () { + updateSmooth(0); + } + }] + }); + }); + </script> + + + </body> +</html> + --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org For additional commands, e-mail: commits-h...@echarts.apache.org