如何使用函数(API)展开折叠的力导向树(AMCharts 4)?

时间:2019-05-24 22:51:31

标签: amcharts expand

我以您的受力导向树为例,并修改了脚本以使其在初始化时折叠: networkseries.maxLevels = 1; 因此,当我运行时,屏幕中间只会出现一个气泡(“核心”)。 现在,我希望通过调用一个函数(API样式)来扩展整个图表,就像单击气泡一样。

我尝试了所有操作:isActive = true,Visible = true,hidden = false,折叠,show()…。该图表仍然显示一个气泡,并且没有扩大。

请您帮我一下,告诉我在扩展功能(以下代码末尾)中应该放什么以扩展图表(所有级别)?

INDEX.JS:

am4core.useTheme(am4themes_animated);
var chart = am4core.create("chartdiv",      am4plugins_forceDirected.ForceDirectedTree);
var networkSeries = chart.series.push(new am4plugins_forceDirected.ForceDirectedSeries())

chart.data = [
{name: "Core", children: [{
    name: "First", children: [
            { name: "A1", value: 100 },
            { name: "A2", value: 60 }
            ]},{
    name: "Second", children: [
            { name: "B1", value: 135 },
            { name: "B2", value: 98 }
            ]}
    }
]}
];

networkSeries.dataFields.value = "value";
networkSeries.dataFields.name = "name";
networkSeries.dataFields.children = "children";
networkSeries.nodes.template.tooltipText = "{name}:{value}";
networkSeries.nodes.template.fillOpacity = 1;
networkSeries.nodes.template.label.text = "{name}"
networkSeries.fontSize = 10;

networkSeries.maxLevels = 1;

function expand(){
//    ????
}

2 个答案:

答案 0 :(得分:0)

解决方案:

networkSeries.maxLevels = 2; 

networkSeries.maxLevels = 3;

答案 1 :(得分:0)

也许为时已晚,您找到了解决方案,但是作为工作流程,您可以执行以下操作:

 networkSeries.nodes.each ((node) => {node.isActive = true;})

这样,您将一个接一个地激活所有节点,尝试使用Iñigo提供的解决方案,但似乎只有在执行开始时才起作用。

我希望这可以解决您的问题^^