以角度

时间:2018-05-07 11:24:13

标签: plotly

我按照此SO answer的说明在应用程序中进行了整合。

不幸的是,在尝试使用plotly.js的标准示例时,我会遇到打字稿错误。 Plotly.newPlot(...)的参数类型似乎不正确。

enter image description here

这是我的组件:

import {Component, OnInit} from '@angular/core';
import * as Plotly from 'plotly.js';
import {Config, Data, Layout} from 'plotly.js';

@Component({
  selector: 'app-tabs',
  templateUrl: './tabs.component.html',
  styleUrls: ['./tabs.component.css']
})
export class TabsComponent implements OnInit {

  constructor() {
  }

  ngOnInit() {
    let y0 = [];
    let y1 = [];
    for (var i = 0; i < 50; i++) {
      y0[i] = Math.random();
      y1[i] = Math.random() + 1;
    }
    var trace1 = {
      y: y0,
      type: 'box'
    };
    let trace2 = {
      y: y1,
      type: 'box'
    };

    let data = [trace1, trace2];
    Plotly.newPlot('myDiv', data);
  }
}

我使用plotly.js@1.37.1和angular v6.0.0

2 个答案:

答案 0 :(得分:4)

你不需要将Plotly放在 angular.json 中,只需像这样导入。

import * as Plotly from 'plotly.js/dist/plotly.js';
import {Config, Data, Layout} from 'plotly.js/dist/plotly.js';

答案 1 :(得分:2)

我找到了以下解决方法。

  • 手动将Plotly.js存储在assets文件夹中
  • 导入angular.json中的脚本: "scripts": [src/assets/scripts/plotlyjs/plotly.js"]
  • 在要使用plotly的组件的import语句下面添加declare const Plotly