微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当数据少于3个值时,AMCharts Series不会出现问题

如何解决当数据少于3个值时,AMCharts Series不会出现问题

我在wordpress项目中使用AMCharts4,一切正常,但是在过滤数据时出现了一个奇怪的问题,让我展示一下图像的情况:

  • 使用所有数据(可以100%罚款)

    Image Working Fine

-过滤数据(超过2个结果可以100%正常运行)

Filtering Data working

  • 过滤数据(2个或更少的结果未显示分数,这是错误

enter image description here

看看它如何不将相应的分数显示为前两张图像。

这里的问题是如何使那些分数出现?我曾尝试在函数中使用注释的代码行,但似乎无济于事。

您可以在此link(例如,选择澳大利亚或巴西)中重现该问题

然后查看我的函数here

labelBullet = series.bullets.push(new am4charts.LabelBullet())
labelBullet.label.horizontalCenter = "left";
labelBullet.label.dx = 10;
labelBullet.label.text = "{values.valueX.workingValue.formatNumber('#.')}";
labelBullet.locationX = 1;

解决方法

问题出在您使用labelBullet.locationX = 1;上。如果您看一下am4 Bullets documentation

不过,有一个警告。对于项目符号,locationY属性表示 整个列高度中的相对垂直位置。那 意味着如果我们的规模不以零开始,那么它就不会在 列当前可见部分的直接中心。

在使用倒排图时,同样适用于locationX。意思是,标签位置是相对于刻度的。

要解决此问题,您可以将min的值轴设置为0,如以下jsfiddle所示:

valueAxis.min = 0;

或如文档中所述,将标签直接推入列系列模板中,如jsfiddle所示。

label = series.columns.template.createChild(am4core.Label);
label.text = "{values.valueX.workingValue.formatNumber('#.')}";
label.align = "left";
label.valign = "middle";
label.zIndex = 2;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。