使用amcharts4,我想将图像添加到ValueAxis的标签中。这个是可能的吗?我已经了解了如何向项目中添加SVG映像(请参阅演示)。但是,是否有可能用ValueAxis的标签做类似的事情呢?
这里是一个这样的图像的例子,我想在数字旁边添加:
当前,值轴看起来是这样的,它应该在标签旁边有一个图标:
编辑:
多亏了@zeroin的回答,我找到了一个解决方案。然而,当使用带有模板的轴子弹时,似乎存在一个奇怪的bug。并不是每一颗子弹都被隐藏,即使它的标签是隐藏的。这是相关的代码,一个屏幕截图和一个码页来复制。
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
valueAxis.min = 0;
valueAxis.max = 800;
valueAxis.renderer.minGridDistance = 30;
valueAxis.renderer.opposite = true;
valueAxis.renderer.labels.template.dx = 13;
valueAxis.strictMinMax = true;
var image = new am4core.Image();
image.href = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-160/man-user.svg";
image.width = 12;
image.horizontalCenter = "middle";
image.verticalCenter = "middle";
image.dx = 13;
image.dy = -0.5;
image.opacity = 0.3;
valueAxis.dataItems.template.bullet = image;
EDIT2:
这个bug似乎在当前的amcharts (4.5.14
)发行版中得到了修复。它现在正像预期的那样工作。
发布于 2019-07-24 15:42:39
您的问题很及时--在今天发布的版本(4.5.9)中,我们向AxisDataItem添加了子弹属性。因此,您可以通过模板将图像或任何其他sprite添加到所有轴标签中,或者在需要的值上创建轴范围,并在其中添加符号,例如:
var range = valueAxis.axisRanges.create();
range.value = 1500;
//range.label.text = "1500";
var image = new am4core.Image();
image.href = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-160/man-user.svg";
image.width = 15;
image.horizontalCenter = "middle";
image.verticalCenter = "middle";
image.dx = -55;
range.bullet = image;
https://stackoverflow.com/questions/57170710
复制相似问题