2017-08-07 83 views
0

在执行下面给出的代码时,所有z坐标都正确显示,但x轴仅显示1-10坐标和y轴仅显示s1,s2,s3,s4坐标。我如何绘制这个3D曲面图中的所有坐标?Plotly 3D Surface图不显示所有x和y坐标

var data = [{ 
 
    z: [ 
 
    [1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10], 
 
    [2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11], 
 
    [3.5, 4.5, 6.5, 7.5, 8.5, 9.5, 4.5, 3.5, 2.5, 10], 
 
    [5.5, 6.5, 7.5, 15.5, 16.5, 17.5, 18.5, 19.5, 12.5, 17] 
 
    ], 
 
    x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
 
    y: ['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10'], 
 
    type: 'surface' 
 
}]; 
 

 
var layout = { 
 
    title: 'Trips Overview', 
 
    scene: { 
 
    xaxis: { 
 
     title: 'Time', 
 
     titlefont: { 
 
     color: 'red', 
 
     family: 'Arial, Open Sans', 
 
     size: 12 
 
     } 
 
    }, 
 
    yaxis: { 
 
     title: 'stops', 
 
     titlefont: { 
 
     color: 'red', 
 
     family: 'Arial, Open Sans', 
 
     size: 12 
 
     } 
 
    }, 
 
    zaxis: { 
 
     title: 'trips', 
 
     titlefont: { 
 
     color: 'red', 
 
     family: 'Arial, Open Sans', 
 
     size: 12 
 
     } 
 
    } 
 
    }, 
 
    autosize: true 
 
}; 
 
Plotly.newPlot('myDiv', data, layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script> 
 
<div id="myDiv" style="width:100%;height:100%"></div>

回答

0

我plotly检查表面绘制在codepen,所以对于每一个阵列中的X轴和Y轴的值的,应该有与z阵列内的相应子阵列。

E.g: 
In your code 
X axis: 1 
Y axis: "s1" 
will have the Z values as [1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10]. 

因此,您只提供了4个Z数组列表,因此我们看不到上面的“s5”。

参考:

+0

非常感谢。顺便说一下,我有不等于x和y坐标,我需要在三维曲面图中针对z轴绘制它们。有没有其他可能的方法来做到这一点? – AkshayaCB

+0

@AkshayaCB Z的缺失值可以用[13,14,0,15]或类似的[13,14,15]给出,但Z子数组的长度必须与X和Y的数组相同 –

+0

@AkshayaCB是否帮助你,这是你的问题的正确答案? –