amCharts4 - Как стилизовать одиночную связь / ребро между узлами в Force Directed Tree? - PullRequest
0 голосов
/ 13 мая 2019

Я использую am4Charts и у меня есть Force Directed Tree с несколькими узлами. Я хочу изменить ширину обводки отдельной ссылки на графике.

Простой пример:

<script src="//www.amcharts.com/lib/4/core.js"></script>
<script src="//www.amcharts.com/lib/4/charts.js"></script>
<script src="//www.amcharts.com/lib/4/themes/animated.js"></script>
<script src="//www.amcharts.com/lib/4/plugins/forceDirected.js"></script>
<div id="chartdiv"></div>

Javascript:

am4core.useTheme(am4themes_animated);

// Create chart
chart = am4core.create("chartdiv", am4plugins_forceDirected.ForceDirectedTree);

// Create series
var series = chart.series.push(new am4plugins_forceDirected.ForceDirectedSeries());

// Set data
series.data = [{
  "name": "First",
  "link": ["Second", "Third"],
  "children": [{
    "name": "A1", "value": 100, "link": ["B2"]
  }, {
    "name": "A2", "value": 60
  }, {
    "name": "A3", "value": 30
  }]
}, {
  "name": "Second",
  "children": [{
    "name": "B1", "value": 135
  }, {
    "name": "B2", "value": 98
  }, {
    "name": "B3", "value": 56
  }]
}, {
  "name": "Third",
  "children": [{
    "name": "C1", "value": 1
  }]
}];
series.dataFields.linkWith = "link";
series.dataFields.id = "name";
// Set up data fields
series.dataFields.value = "value";
series.dataFields.name = "name";
series.dataFields.children = "children";

// Add labels
series.nodes.template.label.text = "{name}";
series.fontSize = 10;
series.minRadius = 15;
series.maxRadius = 40;
// series.centerStrength = 50;
// series.manyBodyStrength = 50;
series.links.template.strokeWidth = 5;
series.links.template.strokeOpacity = 1;

series.centerStrength = 0.5;

Пример кодекса

В документации я нашел способ установить strokeWidth и strokeOpacity для всех ссылок.

Я уже пытался сделать второй series и переместить в него «третий» узел и установить strokeWidth только для этой второй серии, но узлы не были подключены. Даже если это сработало, это кажется довольно запутанным способом сделать это.

Как установить strokeWidth одной ссылки между двумя узлами, например, от узла «Первый» к узлу «Третий», и оставить все остальные ссылки без изменений, желательно без разделения узлов на несколько series?

...