用echarts绘制二元正态分布函数的3d图代码
时间: 2024-09-09 18:07:19 浏览: 116
在ECharts中绘制二维正态分布函数的3D图,你可以使用其内置的`scatter3D`和`grid3D`组件。下面是一个简单的示例代码,假设我们想要创建一个均值为(0,0),标准差为(1,1)的二维正态分布:
```javascript
// 引入ECharts库
import echarts from 'echarts';
// 创建图表实例
const myChart = echarts.init(document.getElementById('main'));
// 配置3D数据
const data = [];
for (let x = -5; x <= 5; x += 0.1) {
for (let y = -5; y <= 5; y += 0.1) {
const z = Math.exp(-((x - 0) ** 2 + (y - 0) ** 2) / 2);
data.push([x, y, z]);
}
}
// 绘制3D散点图
myChart.setOption({
tooltip: {},
visualMap: {
max: [1],
pieces: [{
lable: '概率密度',
show: false,
}],
},
xAxis3D: {
type: 'value',
},
yAxis3D: {
type: 'value',
},
zAxis3D: {
type: 'value',
},
series: [
{
name: '正态分布',
type: 'scatter3D',
coordinateSystem: 'cartesian3d',
data: data,
itemStyle: {
color: function(params) { // 根据z值改变颜色
return params.value > 0 ? '#aaa' : '#fff';
},
},
},
],
grid3D: {
viewControl: {
autoRotate: true,
rotateSpeed: 60,
},
},
});
// 监听视图变化更新视觉地图
myChart.on('dataZoom', function () {
myChart.dispatchAction({
type: 'visualMapChange'
});
});
阅读全文