Amcharts4:如何将图像添加到轴(valueAxis)标签?

时间:2019-07-23 19:07:15

标签: image axis amcharts axis-labels amcharts4

使用amcharts4,我想将图像添加到ValueAxis的标签中。这可能吗?我发现了如何将SVG图片添加到项目符号中(请参见demo)。但是是否可以对ValueAxis的标签执行类似的操作?

以下是此类图片的示例,我想在数字旁边添加:

当前,值轴看起来像这样,并且标签旁边应该有一个图标:


编辑:

由于@zeroin的回答,我找到了解决方案。但是,将轴项目符号与模板一起使用时似乎存在一个奇怪的错误。即使隐藏了其子标签,也不是每个子弹都被隐藏。这是相关的代码,屏幕快照和要复制的codepen

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;

1 个答案:

答案 0 :(得分:2)

您的问题很对时-在今天发布的版本(4.5.9)中,我们向AxisDataItem添加了bullet属性。因此,您可以通过模板向所有轴标签添加图像或任何其他精灵,或以所需的值创建轴范围并在其中添加项目符号,例如:

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://codepen.io/team/amcharts/pen/JgXqvp

相关问题