Привет, я хотел бы отформатировать свою столбчатую диаграмму XY так, чтобы, если значение данных равно 0, вместо того, чтобы показывать bulletLabel для этого значения в центре полосы, он отображал его, расположенный в передней части диаграммы снаружи.
Я хотел бы применить эти свойства к метке маркера:
labelBullet.label.horizontalCenter = 'left';
labelBullet.locationX = 0;
labelBullet.label.truncate = false;
labelBullet.label.hideOversized = false;
Я бы подумал об использовании адаптера, но я не уверен, как его записать. Вот моя печальная попытка:
labelBullet.label.adapter.add('label', function (value, target) {
if (!target.dataItem) {
return value;
}
var values = target.dataItem.values;
if (values.valueY.value === 0) {
labelBullet.label.horizontalCenter = 'left';
labelBullet.locationX = 0;
labelBullet.label.truncate = false;
labelBullet.label.hideOversized = false;
}
});
Я не уверен, как проверить значение данных или сказать, что я хочу применить эти свойства, если значение точки данных равно 0.
Здесь это мой создатель серии:
let series = chart.series.push(new am4charts.ColumnSeries());
series.name = id[0].toUpperCase() + `${id}`.slice(1);
series.dataFields.valueX = field;
series.dataFields.categoryY = 'school';
series.sequencedInterpolation = true;
series.columns.template.height = am4core.percent(30);
series.columns.template.tooltipText = '{categoryY}\n {name}: [bold]{valueX}[/]';
let labelBullet = series.bullets.push(new am4charts.LabelBullet());
labelBullet.locationX = 0.5;
labelBullet.label.text = '{valueX}';
labelBullet.label.fill = am4core.color('#fff');
labelBullet.label.hideOversized = true;
Вот пример данных:
[
{
school: "Fort Lewis College",
totalInBaseField: "33"
},
{
school: "Adams State University",
totalInBaseField: "0"
}
{
school: "University of Colorado Colorado Springs",
totalInBaseField: "141"
}
]
Результат должен быть примерно таким: Вот полоса со значением> 0
значение> 0
Вот полоса со значением === 0
значение === 0
Это желаемое изменение:
if value === 0
Я пытался следовать этому сообщению в качестве примера: Как условно установить цвета и сделать градиент p ie срезы графика в amCharts v4?