Amcharts4:如何将图像添加到轴(valueAxis)标签?
Amcharts4: How to add an image to an axis (valueAxis) label?
对于 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;
编辑2:
此错误似乎已在当前版本的 amcharts (4.5.14
) 中修复。它现在按预期工作。
您的问题很及时 - 在今天发布的版本 (4.5.9) 中,我们向 AxisDataItem 添加了项目符号 属性。因此,您可以通过模板将图像或任何其他精灵添加到所有轴标签,或者在您需要的值处创建轴范围并在其中添加项目符号,例如:
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;
对于 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;
编辑2:
此错误似乎已在当前版本的 amcharts (4.5.14
) 中修复。它现在按预期工作。
您的问题很及时 - 在今天发布的版本 (4.5.9) 中,我们向 AxisDataItem 添加了项目符号 属性。因此,您可以通过模板将图像或任何其他精灵添加到所有轴标签,或者在您需要的值处创建轴范围并在其中添加项目符号,例如:
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;