123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /*
- * 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.
- */
- var echarts = require("../../echarts");
- var RibbonPath = require("./Ribbon");
- var graphic = require("../../util/graphic");
- /*
- * 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.
- */
- var _default = echarts.extendChartView({
- type: 'chord',
- init: function (option) {},
- render: function (seriesModel, ecModel, api) {
- var data = seriesModel.getData();
- var graph = seriesModel.getGraph();
- var edgeData = seriesModel.getEdgeData();
- var group = this.group;
- group.removeAll();
- data.each(function (idx) {
- var layout = data.getItemLayout(idx);
- var sector = new graphic.Sector({
- shape: {
- cx: layout.cx,
- cy: layout.cy,
- clockwise: layout.clockwise,
- r0: layout.r0,
- r: layout.r,
- startAngle: layout.startAngle,
- endAngle: layout.endAngle
- }
- });
- sector.setStyle({
- fill: data.getItemVisual(idx, 'color')
- });
- data.setItemLayout(idx);
- group.add(sector);
- });
- var edgeRendered = {};
- edgeData.each(function (idx) {
- if (edgeRendered[idx]) {
- return;
- }
- var layout = edgeData.getItemLayout(idx);
- var edge = graph.getEdgeByIndex(idx);
- var otherEdge = graph.getEdge(edge.node2, edge.node1);
- var otherEdgeLayout = otherEdge.getLayout();
- edgeRendered[idx] = edgeRendered[otherEdge.dataIndex] = true;
- var ribbon = new RibbonPath({
- shape: {
- cx: layout.cx,
- cy: layout.cy,
- r: layout.r,
- s0: layout.startAngle,
- s1: layout.endAngle,
- t0: otherEdgeLayout.startAngle,
- t1: otherEdgeLayout.endAngle,
- clockwise: layout.clockwise
- }
- });
- ribbon.setStyle({
- // Use color of source
- fill: edge.node1.getVisual('color'),
- opacity: 0.5
- });
- group.add(ribbon);
- });
- },
- dispose: function () {}
- });
- module.exports = _default;
|