reactjs - React Amchart - 如何在加载图表时删除动画
问题描述
我在 React Hooks 环境中使用 amcharts。
我正在使用力导向树。 https://www.amcharts.com/demos/force-directed-tree/
应用于图表的数据根据高值进行过滤,然后重新应用。每次重新应用数据时,都会渲染图表并继续应用动画。
加载图表时如何删除动画
或者,如果您能告诉我们如何将 amcharts 提供的滚动条应用于此图表,我们将不胜感激。
useEffect(() => {
const chart = am4core.create('networkChart', am4plugins_forceDirected.ForceDirectedTree);
const networkSeries = chart.series.push(new am4plugins_forceDirected.ForceDirectedSeries());
chart.data = data;
chart.dataSource.updateCurrentData = true;
chart.animationPlayed = true;
chart.dataSource.reloadFrequency = 1000;
networkSeries.dataFields.id = 'name';
networkSeries.dataFields.value = 'value';
networkSeries.dataFields.name = 'name';
networkSeries.dataFields.children = 'children';
networkSeries.nodes.template.tooltipText = '{name}:{value}';
networkSeries.nodes.template.fillOpacity = 1;
networkSeries.manyBodyStrength = -20;
networkSeries.links.template.strength = 0.8;
networkSeries.links.template.distance = 1;
networkSeries.minRadius = am4core.percent(3);
networkSeries.maxRadius = am4core.percent(10);
networkSeries.nodes.template.label.text = '{name}';
networkSeries.fontSize = 12;
networkSeries.maxLevels = 4;
networkSeries.events.disableType('inited', function() {
networkSeries.animate(
{
property: 'velocityDecay',
to: 1,
},
3000,
);
});
// Add Legend
chart.legend = new am4charts.Legend();
chart.legend.labels.template.fill = am4core.color('#fff');
}, [data]);
解决方案
我不想使用这些,所以我使用了unuseTheme
并将动画主题传递给它。这删除了与图表相关的动画。
例子:
am4core.unuseTheme(am4themesAnimated);
推荐阅读
- java - 无法从springboot控制器返回html页面
- python - sklearn Stacking Estimator passthrough 跳过预处理并传递原始数据
- angular - 当 dataService 中的数据发生变化时更新组件
- python - 如何检查一个数字是否为负数?
- python - InvalidArgumentError 断言失败:[predictions must be >= 0] [Condition x >= y did not hold element-wise:] AUC metric only
- typescript - 当属性是可选的使用“?”时,Typescript 类上的意外标记
- c++ - 如何在 Kubuntu 20.10 中安装 latte-dock?
- javascript - 将选定日期与表列或 MySQL 查询生成的日期数组进行比较
- c# - 只读字段和私有 getter 属性之间的区别
- python - AWS-SAM Python Lambda 函数告诉我它无法导入该函数的模块