在拉力图中访问Highcharts方法

在拉力图中访问Highcharts方法,highcharts,rally,Highcharts,Rally,我正在为我的部门编写一份定制的燃尽报告,我几乎所有的工作都在进行中。最后一件被要求的事情是,如果迭代被认为是“强化”或“回归”迭代,则在图表上围绕迭代绘制一个方框,如下所示: 从Highcharts API来看,addPlotBand()方法似乎很有前途(参见示例),但我花了很长时间才弄明白如何从Rally chart对象访问Highcharts方法 当我尝试这样的事情时: myChart.xAxis[0].addPlotBland({ from: 1.0, to: 3.0, co

我正在为我的部门编写一份定制的燃尽报告,我几乎所有的工作都在进行中。最后一件被要求的事情是,如果迭代被认为是“强化”或“回归”迭代,则在图表上围绕迭代绘制一个方框,如下所示:

从Highcharts API来看,
addPlotBand()
方法似乎很有前途(参见示例),但我花了很长时间才弄明白如何从Rally chart对象访问Highcharts方法

当我尝试这样的事情时:

myChart.xAxis[0].addPlotBland({
  from: 1.0,
  to: 3.0,
  color: '#FCFFC5',
  id: 'plot-band-1'
});

我得到一个错误,因为xAxis未定义。这是有道理的,因为myChart是一个Rally.ui.chart.chart对象。我只是不知道是否有办法访问Highcharts方法。

您可以直接在
rallychart
组件的“chartConfig”中添加绘图条带,如下所示:

chartConfig : {
    xAxis: {
        plotBands : [{
            from  : 1.0,
            to    : 3.0,
            color : '#FCFFC5',
            id    : 'plot-band-1'
        }]
    }
}
但如果需要向现有图表中添加绘图带,请使用:


myChart.down('highchart').chartConfig.xAxis.plotBands.push(bandConfig)

您可以直接在
rallychart
组件的“chartConfig”中添加绘图条带,如下所示:

chartConfig : {
    xAxis: {
        plotBands : [{
            from  : 1.0,
            to    : 3.0,
            color : '#FCFFC5',
            id    : 'plot-band-1'
        }]
    }
}
但如果需要向现有图表中添加绘图带,请使用:


myChart.down('highchart').chartConfig.xAxis.plotBands.push(bandConfig)

是的,就是这样。我没有意识到我可以像那样访问chartConfig属性+1用于解释如何在配置时添加绘图条带以及如何将绘图条带添加到现有图表中。这种方法遇到的一个问题是:当我更改版本时,我正在重新绘制图表。我将其命名为.remove('myChart')以将其删除,然后使用Ext.create()创建一个新版本。我第一次这样做时,打印条带渲染良好。任何后续尝试,打印标注栏将不再渲染。是否有更好的方法重新绘制图表?使用第二种方法添加绘图区后,您可能需要刷新图表。用法:myChart.down('highchart').update();添加此评论以防对其他人有所帮助。我重构了代码以使用第一种方法(将PlotBand设置为图表配置的一部分)。我仍然在数组中循环以确定需要打印标注栏的位置,然后设置plotBands:myArray。这样做是正确的,即使我必须删除并重新绘制图表。不知道为什么我第一次没想到。是的,就是这样。我没有意识到我可以像那样访问chartConfig属性+1用于解释如何在配置时添加绘图条带以及如何将绘图条带添加到现有图表中。这种方法遇到的一个问题是:当我更改版本时,我正在重新绘制图表。我将其命名为.remove('myChart')以将其删除,然后使用Ext.create()创建一个新版本。我第一次这样做时,打印条带渲染良好。任何后续尝试,打印标注栏将不再渲染。是否有更好的方法重新绘制图表?使用第二种方法添加绘图区后,您可能需要刷新图表。用法:myChart.down('highchart').update();添加此评论以防对其他人有所帮助。我重构了代码以使用第一种方法(将PlotBand设置为图表配置的一部分)。我仍然在数组中循环以确定需要打印标注栏的位置,然后设置plotBands:myArray。这样做是正确的,即使我必须删除并重新绘制图表。不知道为什么我第一次没想到。