当数据少于 3 个值时,AMCharts 系列不出现的问题

我在 WordPress 项目中使用 AMCharts4,一切正常,但是当我过滤数据时遇到一个奇怪的问题,让我展示一下图像发生的情况:

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

http://img1.sycdn.imooc.com/64a661b00001b08506170388.jpg

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

http://img1.sycdn.imooc.com/64a661b90001cb6e06300299.jpg

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

    http://img3.sycdn.imooc.com/64a661c4000172ed06370300.jpg

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

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


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;


陪伴而非守候
浏览 159回答 1
1回答

互换的青春

问题在于您对 的使用labelBullet.locationX = 1;。如果您查看am4 Bullets 文档:不过,有一点需要注意。对于项目符号,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;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript