为什么这些矩形不出现?

时间:2015-06-01 16:44:15

标签: highcharts highstock

我在使用非常简单的东西时会遇到很多麻烦。我无法获得具有世界坐标(x轴上的时间和y轴上的价格)的矩形:

chart.renderer.rect(chart.xAxis[0].toPixels(1432810800),chart.yAxis[0].toPixels(1.089965),chart.xAxis[0].toPixels(10800),chart.yAxis[0].toPixels(0.0032400000000001317), 0)
  .attr({fill: '#FFFF0F', stroke: 'green', 'stroke-width':1, zIndex:4})
  .add()

完整图表为http://jsfiddle.net/36tk5jsa/

1 个答案:

答案 0 :(得分:0)

我发现解决方案是计算宽度和高度,如下所示:

    chart.renderer.rect(chart.xAxis[0].toPixels(1431716400000),chart.yAxis[0].toPixels(1.14505),chart.xAxis[0].toPixels(1431896400000)-chart.xAxis[0].toPixels(1431716400000),chart.yAxis[0].toPixels(1.144735)-chart.yAxis[0].toPixels(1.14505), 0)
      .attr({fill: '#FF0FFF', stroke: 'red', 'stroke-width':1, zIndex:4})
      .add()

也就是说,您必须将两个坐标转换为像素,然后减去以获得宽度或高度。 (我不清楚为什么你不能先做减法然后转换成像素,因为我们讨论的是相对变化,在任何一个坐标系中应该是相同的。另一方面,我不再关心。: - )

相关问题