echarts-gl
echarts-gl copied to clipboard
3dBar图,如果设置grid3D.viewControl.projection为 'orthographic',在数据刷新时,缩放失效
如题,在数据刷新时,缩放会回退到默认大小。grid3D.viewControl.projection为perspective时,无此问题。 将如下代码放入https://echarts.apache.org/examples/zh/editor.html?c=bar3d-simplex-noise&gl=1&theme=dark&version=5.2.2 中,可复现。
$.getScript(
'https://cdn.jsdelivr.net/npm/[email protected]/simplex-noise.js'
).done(function () {
var flag = false;
var noise = new SimplexNoise(Math.random);
function generateData(theta, min, max) {
var data = [];
for (var i = 0; i <= 50; i++) {
for (var j = 0; j <= 100; j++) {
var value = noise.noise2D(i / 20, j / 20);
valMax = Math.max(valMax, value);
valMin = Math.min(valMin, value);
data.push([i, j, value * 2 + 4]);
}
}
return data;
}
var valMin = Infinity;
var valMax = -Infinity;
setInterval(() => {
noise = new SimplexNoise(Math.random);
var data = generateData(2, -5, 5);
console.log(valMin, valMax);
if (!flag) {
flag = true;
myChart.setOption(
(option = {
animation: false,
visualMap: {
show: true,
min: 0,
max: 80,
inRange: {
color: [
'#313695',
'#4575b4',
'#74add1',
'#abd9e9',
'#e0f3f8',
'#ffffbf',
'#fee090',
'#fdae61',
'#f46d43',
'#d73027',
'#a50026'
]
}
},
xAxis3D: {
type: 'value',
name: 'Period'
},
yAxis3D: {
type: 'value',
name: 'Phase'
},
zAxis3D: {
type: 'value',
max: 10,
min: 0,
nameTextStyle: {
align: 'right',
verticalAlign: 'top'
}
},
grid3D: {
left: 10,
viewControl: {
//autoRotate: true,
projection: 'orthographic'
}
},
series: [
{
type: 'bar3D',
data: data,
shading: 'lambert',
label: {
formatter: function (param) {
return param.value[2].toFixed(1);
}
}
}
]
})
);
} else {
myChart.setOption({ series: [{ data: data }] });
}
}, 1000);
});