我正在使用amcharts4创建大数据图表(XY)。我想在其中包括两种不同类型的子弹。然后,这些不同的类型应由用户打开/关闭。我设法关闭,但没有再次打开。
当我的真实用例加载大量数据时,我以一种不寻常的方式实现了项目符号以保持性能:禁用项目符号,然后使用propertyfield.disabled启用。
var smallBullet11 = series1.bullets.push(new am4charts.LabelBullet());
smallBullet11.disabled = true;
smallBullet11.propertyFields.disabled = "hideBullet1";
因此,我可以隐藏,但以后不再显示子弹。
这里是完整示例:https://jsfiddle.net/9uwgp85s/
首先单击“隐藏X子弹”(将起作用,然后单击“显示X子弹”(将不起作用)。
有人知道如何重新打开子弹吗?
感谢您提供任何提示!
您需要在各个项目符号上调用show
/ hide
,例如:
function hidebullets() {
smallBullet11.clones.each(function(bullet) {
bullet.hide();
});
}
function showbullets() {
smallBullet11.clones.each(function(bullet) {
bullet.show();
});
}
[您可能还会发现minBulletDistance
属性有助于提高带有大量项目符号的折线图的性能。它允许您在绘制项目符号之前指定每个点之间的最小距离;距离越大,放大之前要绘制的项目符号就越少。您可以找到更多类似此minBulletDistance
的性能提示。