1

我正在尝试设置一个财务图表来显示股票的时间序列数据(比如说 GOOG)。如何从模板中获取数据到 dataSource 属性?我没有正确转换数据类型吗?图表显示在屏幕上,但没有显示任何数据......有没有人有使用 igx 图表的经验可以提供帮助?我开始怀疑你是否需要注册他们的服务(即付钱)只是为了尝试他们的图表?..似乎不太可能但我在这里看不到任何东西

我已经尝试按照他们的文档中列出的步骤进行操作:https ://www.infragistics.com/products/ignite-ui-angular/angular/components/financialchart.html

看起来很简单,但无论我用哪种方式切片,dataSource 似乎都没有填充图表上的数据。

这是我获取数据并将其更改为 igx dataSource 需要的方式的方法。

 stockDailyDisplay: ChartDisplayModel[] = [];

 getTimeSeriesDaily(stockSymbol: string) {
    this.alphaService.getTimeSeriesDaily(stockSymbol).subscribe((resp: AlphavantageDailyResponse) => {
      for (const [key, value] of Object.entries(resp['Time Series (Daily)'])) {
        const s: ChartDisplayModel = {
          time: new Date(key).toString(),
          open: value['1. open'],
          high: value['2. high'],
          low: value['3. low'],
          close: value['4. close'],
          volume: value['5. volume']
        };
        this.stockDailyDisplay.push(s);
      }
    });
  }

模板:

<igx-financial-chart
  [dataSource]="stockDailyDisplay"
  width="850px"
  height="600px">
</igx-financial-chart>

我没有收到任何错误。并且数据似乎正在按预期进行处理。stockDailyDisplay返回一个对象数组,如下所示: {time: string, open: string, high: string, low: string, close: string, volume: string}

4

1 回答 1

2

谢谢你的详细解释!您的数据格式是正确的,唯一的问题是这些对象属性的类型open, high,lowclose-volume它们的类型应该numberstring

{ 
  time: new Date(2013, 1, 1),
  open: 378.70,
  high: 387.90,
  low: 378.70,
  close: 387.40,
  volume: 0 
}

至于您对 Infragistics 服务的关注 - Angular产品的 Ignite UI 可免费用于非商业应用程序,但如果您正在构建商业产品,您应该获得许可证。获得许可证不仅将授予您在商业应用程序中使用产品的权利,而且还提供开发支持,这是非常有益的。

为迟到的回应道歉,布赖恩。如果您有任何其他问题或疑虑,可以查看我们的 GitHub 存储库,您会注意到我们拥有一个非常活跃的社区,每当有问题时,我们都会随时提供帮助 :)

https://github.com/IgniteUI/igniteui-angular-charts/issues

https://github.com/IgniteUI/igniteui-angular/issues

于 2019-11-04T08:13:15.210 回答