Angular highchart с динамикой c данные из API - PullRequest
0 голосов
/ 06 мая 2020

Этот код Angular получает данные из API и создает сплайн-диаграмму с этими данными API в angular highcharts.

Это файл app.component.ts

import { Component, OnInit } from "@angular/core";
import * as Highcharts from "highcharts";
import { DashService } from './shared/dash.service';
import { Chart } from './shared/chart.model';


@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"]
})

export class AppComponent implements OnInit{
    ChartModel: Chart[];
    url: string = 'https://localhost:44311/api/charts/';
    data: any;

   constructor(public service: DashService) { }

   Highcharts = Highcharts;

    spline = {
    chart: {
   type: 'spline',
    },
    title: {
    text: 'Active Users'
    },
    credits: {
    enabled: false
    },
    yAxis: {
      title: {
         text: 'Users'
         }
    },
    series: []
    }
    ngOnInit() {

    this.getApiResponse(this.url).then(
    data => {
    const values = [];
    data.forEach(row => {
    const temp_row = [row.data,];    
    values.push(temp_row);
    });
    var dataSeries = [];

    dataSeries.push({
    name:'Users Present',
    data: values,
    });

    this.spline.series = dataSeries;
    },
    error => {
    console.log('Something went wrong.');
    })
    }
    getApiResponse(url) {
    return this.service.Get(this.url)
    .toPromise().then(res => {
    return res;
    });
    }
    }

Это файл da sh .service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Chart } from './chart.model';
import { Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class DashService {

  readonly chartURL = "https://localhost:44311/api/charts/"
  constructor(private http: HttpClient) { }

  Get(chartURL):Observable<Chart[]>{
  return this.http.get<Chart[]>(chartURL);
 }
}

Это файл chart.model.ts

export class Chart {
    data:number;
}

И это app.component. html

<div class="chart-box" class="col-lg-5 md-5 ml-5" > 
        <highcharts-chart [Highcharts]="Highcharts" [options]="spline"></highcharts-chart>
</div>

Я обновил свой файл app.component.ts, а также добавил файлы da sh .service.ts и model.ts. Теперь я могу получать данные для своей диаграммы из API, единственное, что я хочу сделать, это обновлять диаграмму каждые 5 секунд и продолжать добавлять к ней точки из API.

Этот веб-сайт показывает высокие диаграммы с динамическими c данными. Линейная диаграмма справа обновляется каждые 5 секунд, добавляя к ней точки, и я хочу, чтобы это тоже было сделано в моей диаграмме. Указанный веб-сайт не мой, это просто справочная информация. Это - еще одна ссылка, которая добавляет точку каждую секунду, я хочу то же самое с моей диаграммой Пожалуйста, помогите мне сделать мою диаграмму динамической c вот так

Ниже изображение моей диаграммы This is how my chart looks like

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...