如何根据 amcharts 4 中的 ajax 数据更改烛台的颜色?

how to change color of candlestick based on ajax data in amcharts 4?

我想根据来自后端数据的颜色更改图表上某些烛台的颜色,因为我在后端进行了一些计算,发现一些烛台与其他烛台不同。那我该怎么做呢? 这是 codepen 中的代码,它通过使用与价格(开盘价、最高价、最低价、收盘价)或蜡烛指数相关的条件来改变颜色,但我想根据后端计算的另一个数据改变颜色,然后通过其他数据将其发送到前端。

series.columns.template.adapter.add("fill", (fill, target) => {
  if (target.dataItem) {
    if((target.dataItem.index%2==0)){
       return am4core.color("#000000");  
    }
    else {
      if(chart.data[target.dataItem.index].open > chart.data[target.dataItem.index].close){
        return am4core.color("#00FF00");  
      }else {
        return am4core.color("#FF0000");  
      }
    }

https://codepen.io/enriqu3/pen/MWYVEzW

例如,假设后端发送一个值“X”和其他数据(开盘价、最高价、最低价、收盘价、日期、X),我想根据该“X”值更改每根蜡烛的颜色。

我找到了答案:

if(chart.data[target.dataItem.index].x > y)
        {
            return am4core.color("blue");  
        }
        else 
        {
                if(chart.data[target.dataItem.index].open >chart.data[target.dataItem.index].close) return am4core.color("red");  
        else return am4core.color("green");  
        }