我需要将zamel代码转换为HTML代码。 zamel的控制器之一,可以监视健康指数。我有以下控制器:
javascript - 用于健康指数监控的 Controller-LMLPHP

该控制器的工作方式:

每个标准有3个状态,我们有6个标准:Corp,IEEE,IEC,NEI,PTX和ABN。
现在每个标准都有3种状态:


OK状态-绿色。
警报状态-黄色。
危险状态-红色。


现在,如果所有标准都合格,那么总体健康指标就可以,如果一个标准不合格,则总体健康指标为“警报”或“危险”。

现在,我需要一个可以替代此旧zamel控制器的控制器。
我目前在图表中使用highcharts,因此我尝试在highcharts中找到一些控制器以获取健康指标状态,但没有任何运气。

我愿意提出建议,这些是当下摆在我眼前的选择:


在Highcharts中找到一个控制器并进行修改。
寻找其他可以在这种情况下为我提供帮助的js库。
从头开始构建自己的控制器,在此选项中,我需要初步帮助。


为了缩小选择范围,可以说我要为此任务使用Highcharts控制器,这可能吗?

最佳答案

如果要制作一些类似于控制器的自定义工程图,则可以使用Highcharts API中的renderer方法。在这里,您可以找到指向Highcharts API的链接:
http://api.highcharts.com/highcharts/Renderer

在这里您可以找到可以帮助您解决问题的代码:

  var renderController = function(chart) {
    var chart = this,
      renderer = chart.renderer,
      seriesController = chart.options.seriesController,
      length = seriesController.data.length,
      plotWidth = chart.plotWidth,
      marginLeft = chart.marginLeft,
      width = chart.plotWidth / length,
      generalStatus = 'ok',
      color;
    $('.controler').remove();
    Highcharts.each(seriesController.data, function(c, i) {
      if (c.status === 'ok') {
        color = '#119001';
      } else if (c.status === 'alert') {
        color = 'yellow';
        generalStatus = 'alert';
      } else {
        color = 'red';
        generalStatus = 'danger';
      }
      renderer.circle(width * i + (width / 2), 100, width / 2).attr({
        fill: color,
        'stroke-width': 1,
        stroke: 'blue'
      }).addClass('controler').add();
      renderer.label(c.standard, width * i + (width / 2) - 2, 90).attr({
        'text-anchor': 'middle'
      }).addClass('controler').add();
    });
    color = generalStatus === 'ok' ? '#119001' : (generalStatus === 'alert' ? 'yellow' : 'red');
    renderer.circle(plotWidth / 2, 300, width / 2).attr({
      fill: color,
      'stroke-width': 1,
      stroke: 'blue'
    }).addClass('controler').add();
    renderer.label('General', plotWidth / 2 - 2, 290).attr({
      'text-anchor': 'middle'
    }).addClass('controler').add();
  };


在这里,您可以找到一个示例它如何工作的:http://jsfiddle.net/pqw7pn2L/

关于javascript - 用于健康指数监控的 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39317791/

10-10 01:31
查看更多