【问题标题】:Issue with AMCharts Series not appearing when The data has less than 3 values当数据少于 3 个值时,未出现 AMCharts 系列的问题
【发布时间】:2020-11-01 23:18:13
【问题描述】:

我在一个 WordPress 项目中使用 AMCharts4,一切正常,但是当我过滤数据时遇到了一个奇怪的问题,让我来看看图像发生了什么:

  • 包含所有数据(工作 100% 正常)

-过滤数据(超过 2 个结果工作正常 100%)

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

看看它如何没有将各自的分数显示为前 2 张图像。

这里的问题是如何让这些分数出现?我已经在我的函数中尝试了注释代码行,但似乎没有任何效果。

您可以在此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;

【问题讨论】:

  • 嗨@ricardo,你有什么发现吗?我也有同样的具体问题。

标签: javascript jquery amcharts


【解决方案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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多