gpt4 book ai didi

javascript - Plotly.js 曲面图数据格式化

转载 作者:行者123 更新时间:2023-12-04 17:21:55 25 4
gpt4 key购买 nike

我正在尝试通过 for 循环自己生成点来绘制函数的曲面图。但是该图没有显示。我读过曲面图的数据变量中的 z 条目必须是一个数组数组,但即便如此也没有显示出该图。

var zPts = [];
var xPts = [];
var yPts = [];

for(x=0; x<1; x+=0.01) {
for (y=0; y<1; y+=0.01) {
zPts.push([Math.sin(x*y)]);
yPts.push(y);
xPts.push(x);
}
}

var data = [{
z: zPts,
x: xPts,
y: yPts,
type: 'surface'
}];

var layout = {
title: 'My Plot',
autosize: false,
width: 500,
height: 500,
margin: {
l: 65,
r: 50,
b: 65,
t: 90,
}
};

Plotly.newPlot('theDiv', data, layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="theDiv"></div>

最佳答案

经过一番折腾后,我发现下面的代码可以生成所需的图只需要添加 3 个临时数组变量。我相信数据的正确格式是 x、y 和 z 数组必须都是一个数组数组,每个子数组的大小对于所有 3 个都相同。

var zPts = []; 
var xPts = [];
var yPts = [];


for(x=0; x<10; x+=0.1) {
let zTemp = [];
let yTemp = [];
let xTemp = [];
for (y=0; y<10; y+=0.1) {
zTemp.push(Math.sin(x)*Math.cos(y));
yTemp.push(y);
xTemp.push(x);
}
zPts.push(zTemp);
yPts.push(yTemp);
xPts.push(xTemp);
}

var data = [{
z: zPts,
x: xPts,
y: yPts,
type: 'surface'
}];

var layout = {
title: 'My Plot',
autosize: false,
width: 500,
height: 500,
margin: {
l: 65,
r: 50,
b: 65,
t: 90,
}
};

Plotly.newPlot('theDiv', data, layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="theDiv"></div>

关于javascript - Plotly.js 曲面图数据格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65659892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com