在使用echarts的3D柱状图进行可视化时,无法修改option中series的data值。
设想是,每运行一次display函数就重新对图表的series的data进行修改,柱形图也会随之改变,但在console中看到了board3数组发生改变,但option却没有被修改。
以下是display函数。希望有大佬能够提供帮助
function display()
{
var flag1=0;
var flagcount=0;
var flag2=0;
var flag2count=0;
var boardx=0;
var boardy=0;
var board3 = new Array(size*size);//新建一维数组
for(var i = 0;i<size*size;i++)//二维数组初始化
{
board3[i]=new Array();
}
for(var i=0;i<size*size;i++)//X坐标初始化
{
board3[i].push(flag1);
flagcount++;
if(flagcount==size)
{
flagcount=0;
flag1++;
}
}
for(var i=0;i<size*size;i++)//Y坐标初始化
{
board3[i].push(flag2);
flag2++;
if(flag2==size)
{
flag2=0;
}
}
for(var i=0;i<size*size;i++)//Z坐标初始化
{ if(board[board3[i][0]][board3[i][1]]<=globalnumber) //board3是二维数组,小于globalnumber的值将会赋值到board3[i][2]中
board3[i][2]=board[board3[i][0]][board3[i][1]];//得到board3的形式类似于[[0,0,1],[0,1,1]]
else
board3[i][2]=0;
}
console.log(board3);
console.log(globalnumber);
console.log(data);
globalnumber++;
myChart.setOption({ //改变option的赋值,改变图表的显示
data: board3.map(function (item) {
return {
value: [item[1], item[0], item[2]],
}
}),
});
console.log(option);
}