首页 > 解决方案 > 如何将数组数组传递给 Plotly 而不是在图表布局中定义它

问题描述

我正在尝试使用数组的 Z 索引数组创建一个 Plotly JS 色标图。像这样定义 Z 索引时:

var data = [{
   z: [[-45970100.0, -45968489.0, -45966877.0, -45965266.0, ...]],
   colorscale: [
   ['0.0', 'rgb(165,0,38)'],
   ['0.111111111111', 'rgb(215,48,39)'],
   ['0.222222222222', 'rgb(244,109,67)'],
   ['0.333333333333', 'rgb(253,174,97)'],
   ['0.444444444444', 'rgb(254,224,144)'],
   ['0.555555555556', 'rgb(224,243,248)'],
   ['0.666666666667', 'rgb(171,217,233)'],
   ['0.777777777778', 'rgb(116,173,209)'],
   ['0.888888888889', 'rgb(69,117,180)'],
   ['1.0', 'rgb(49,54,149)']
   ],
   type: 'heatmap'
}];
Plotly.newPlot('myDiv', data);

图表按预期垂直绘制Vertical Colorscale,但是当我将相同的数组数组作为变量传递时,如下所示:

function chart(zX):
   var data = [{
      z: zX,
      colorscale: [
      ['0.0', 'rgb(165,0,38)'],
      ['0.111111111111', 'rgb(215,48,39)'],
      ['0.222222222222', 'rgb(244,109,67)'],
      ['0.333333333333', 'rgb(253,174,97)'],
      ['0.444444444444', 'rgb(254,224,144)'],
      ['0.555555555556', 'rgb(224,243,248)'],
      ['0.666666666667', 'rgb(171,217,233)'],
      ['0.777777777778', 'rgb(116,173,209)'],
      ['0.888888888889', 'rgb(69,117,180)'],
      ['1.0', 'rgb(49,54,149)']
      ],
      type: 'heatmap'
   }];
   Plotly.newPlot('myDiv', data);

图表绘制水平水平色标

我怎样才能使将数组的数组作为变量传递给函数垂直绘制图表?

注意:我留下了 x 和 y 轴数据,因为它们只是标签,不会影响 Z 索引坐标。

标签: javascriptchartsplotly

解决方案


推荐阅读