问题描述
我想根据后端数据中的颜色更改图表上某些烛台的颜色,因为我在后端进行了一些计算,并发现一些蜡烛与其他蜡烛不同。那我该怎么做呢? 这是 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");
}