Highcharts无法使用angular.js更新图表

阿敏·穆罕默迪(Amin Mohammadi)|

我正在开发一个使用Highcharts和Angularjs并使用SignalR提取数据的项目。问题在于饼图可以正确初始化,但是无法使用来自服务器的数据来更新图。这是我的代码:

'use strict';

angular.module('mbCharts').directive('mbGauge', [
    'mbWebMetricsService',
    function (mbWebMetricsService) {
        return {
            //
            // scope is inherited from the widget using this directive
            //
            templateUrl: '/ext-modules/mbCharts/mbGaugeTemplate.html',

        link: function (scope, el, attrs) {
           Highcharts.chart(el[0], {
                chart: {
                    type: 'pie'
                },
                title: {
                    text: scope.title
                },
                plotOptions: {
                    pie: {
                        allowPointSelect: true,
                        cursor: 'pointer',
                        dataLabels: {
                            enabled: true,
                            format: '<b>{point.name}</b>: {point.percentage:.1f} %'
                        }
                    }
                },
                series: [{
                    data: [{
                        name: "Microsoft Internet Explorer",
                        y: 100
                    }, {
                        name: "Chrome",
                        y: 0,
                        sliced: true,
                        selected: true
                    }]
                }]
            });

            // locate the widget showing this gauge
            var widget = el.closest('.gridster-item');


            // monitor the widget's size
            widget.resize(function () {
                //if (scope.chart != null) {
                //    scope.chart.chartWidth = widget.width();
                //    scope.chart.chartHeight = widget.height();
                //}                    
            });

            //scope.title = mbWebMetricsService.getTitleForMetric(scope.metric);
            scope.title = "CPU percentage";
            scope.initialized = false;

            scope.$on('mbWebMetricsService-received-data-event', function (evt, data) { 
                var val = Math.round(data[scope.metric]); 
                scope.chart.series[0].data[0].y = val;
                scope.chart.series[0].data[1].y = 100 - val;
            });
        }
    };
}
]);
PawełFus

问题是您要如何更新数据。这与更改图表对象中的选项无关,而是使用适当的API。要更新点,请使用chart.series[index].data[pointsIndex].update()

因此,在您的情况下,首先存储一个图表对象:

var myChart = new Highcharts.Chart(el[0], { ... });

然后更新要点:

scope.$on('mbWebMetricsService-received-data-event', function (evt, data) { 
  var val = Math.round(data[scope.metric]); 
  myChart.series[0].data.update(val);
  myChart.series[0].data.update(100 - val);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新chart.js和angular中的图表

来自分类Dev

d3.js图表未使用新数据更新

来自分类Dev

使用更新按钮(chart.js)将2个图表合并为1个图表

来自分类Dev

更新highcharts.js数据在“堆积的列”图表上:update()或setData()?

来自分类Dev

Angular JS-使用Highcharts时出现“错误:[$ interpolate:interr]无法插值:”

来自分类Dev

Angular JS-使用Highcharts时出现“错误:[$ interpolate:interr]无法插值:”

来自分类Dev

交互式图表(通过dc.js)无法正确相互更新

来自分类Dev

d3js v4更新后无法删除旧数据图表

来自分类Dev

使用Chart.js使用数据库中的数据实时更新图表

来自分类Dev

更新图表中的数据,带角度的图表,highcharts-ng

来自分类Dev

DC.js动态刷新图表以使用更新的数据集

来自分类Dev

如何使用图表js显示图表

来自分类Dev

当存在xAxis配置字段时,Highstock.js / Angular.js中的范围选择器不会更新图表

来自分类Dev

Angular Js加载图表数据

来自分类Dev

显示空白图表,然后使用按钮进行更新(Google图表)

来自分类Dev

如何在Angular 2和Node JS中的ng2-chartjs2图表中更新数据

来自分类Dev

使用DC.js画布散点悬停信息来更新另一个图表

来自分类Dev

使用Angular js无法在视图中更新Javascript对象

来自分类Dev

无法使用highcharts-ng更新Click事件中的Highcharts系列

来自分类Dev

根据下拉列表更新图表使用

来自分类Dev

如何使用事件更新Google图表?

来自分类Dev

无法使用 Highcharts 创建折线图 - Vue.js

来自分类Dev

Highcharts 更新图表滚动问题-滚动到初始位置

来自分类Dev

无法创建使用chart.js之独立图表

来自分类Dev

Highcharts:我的图表无法缩放什么?

来自分类Dev

无法在HighCharts图表中获得系列ID

来自分类Dev

DC JS-无法重绘图表

来自分类Dev

DC JS-无法重绘图表

来自分类Dev

如何使用Angular将数据发送到图表JS

Related 相关文章

  1. 1

    更新chart.js和angular中的图表

  2. 2

    d3.js图表未使用新数据更新

  3. 3

    使用更新按钮(chart.js)将2个图表合并为1个图表

  4. 4

    更新highcharts.js数据在“堆积的列”图表上:update()或setData()?

  5. 5

    Angular JS-使用Highcharts时出现“错误:[$ interpolate:interr]无法插值:”

  6. 6

    Angular JS-使用Highcharts时出现“错误:[$ interpolate:interr]无法插值:”

  7. 7

    交互式图表(通过dc.js)无法正确相互更新

  8. 8

    d3js v4更新后无法删除旧数据图表

  9. 9

    使用Chart.js使用数据库中的数据实时更新图表

  10. 10

    更新图表中的数据,带角度的图表,highcharts-ng

  11. 11

    DC.js动态刷新图表以使用更新的数据集

  12. 12

    如何使用图表js显示图表

  13. 13

    当存在xAxis配置字段时,Highstock.js / Angular.js中的范围选择器不会更新图表

  14. 14

    Angular Js加载图表数据

  15. 15

    显示空白图表,然后使用按钮进行更新(Google图表)

  16. 16

    如何在Angular 2和Node JS中的ng2-chartjs2图表中更新数据

  17. 17

    使用DC.js画布散点悬停信息来更新另一个图表

  18. 18

    使用Angular js无法在视图中更新Javascript对象

  19. 19

    无法使用highcharts-ng更新Click事件中的Highcharts系列

  20. 20

    根据下拉列表更新图表使用

  21. 21

    如何使用事件更新Google图表?

  22. 22

    无法使用 Highcharts 创建折线图 - Vue.js

  23. 23

    Highcharts 更新图表滚动问题-滚动到初始位置

  24. 24

    无法创建使用chart.js之独立图表

  25. 25

    Highcharts:我的图表无法缩放什么?

  26. 26

    无法在HighCharts图表中获得系列ID

  27. 27

    DC JS-无法重绘图表

  28. 28

    DC JS-无法重绘图表

  29. 29

    如何使用Angular将数据发送到图表JS

热门标签

归档