2012-11-08 5 views
4

저는 젬을 사용하여 레일이있는 높은 차트 라이브러리를 사용하고 있습니다. here. 어느 것이 든 축에 plotLine을 추가하려고 할 때를 제외하고는 모든 것이 매우 잘 작동하고 있습니다. 알아낼 수 없습니다. 지금까지 시도한 두 가지 옵션과 그 결과가 있습니다. 무슨 일이 일어나고 있는지에 대한 통찰력은 대단히 감사 할 것입니다.플롯 라인을 표시하지 않는 레일이있는 하이 차트 사용

옵션 1 :

chart.yAxis([{title: 'Y-Axis', min: 0, plotLines: {value: 25}]) 

결과 : 나는 특히

Uncaught TypeError: Object #<Object> has no method 'concat' 

의 자바 스크립트에서 오류가 발생,이 highcharts.js에 다음 코드를 참조하는

each((options.plotLines || []).concat(options.plotBands || []), function (plotLineOptions) { 
    //plotLinesAndBands.push(new PlotLineOrBand(plotLineOptions).render()); 
    axis.addPlotBandOrLine(plotLineOptions); 
}); 

거기에 실행을 일시 중지하면 options.plotLines 변수가 Object가 아닌 Array이므로 연결이 필요하지 않습니다. thod.

옵션 2 :

chart.yAxis([{title: '', min: 0, plotLines: [{value: 25}]}]) 

결과 : 페이지 레일에서 다음과 같은 오류 메시지가 렌더링되지 않습니다.

You must pass a Hash to Highcharts::Axis::PlotLines. You passed [{:value=>25}] 

나는 내가 1 개 이상의 줄거리를주고 싶습니다으로 작동이 예상하는의 것 high charts의 API 문서를 제공하지만, 이것 만들 모르겠어요.

나는 또한 chart.renderer.path를 사용하려고 시도했으나 실패했다. 어떤 사람이 무슨 일이 일어나고 있는지 설명해 주시겠습니까? 그리고이 보석으로 Rails의 High Charts 그래프에 수평선을 그릴 수있는 방법을 제안 해 주실 수 있습니까?

감사

답변

1

내가 실제로 HighCharts에 의해 생성 된 기본 자바 스크립트를 조작하여 알아 낸 객체를 루비. 여기에 자바 스크립트의 줄거리와 plot_lines_replace 문자열을 수정합니다 그것을

chart.yAxis([{title: '', min: 0, plot_lines_replace: plot_lines}]) 

# Because of a bug in this High Charts rails library, I'm going to have 
# to add the plot_lines myself through the javascript 

return chart.to_s.gsub("plot_lines_replace", "plotLines").html_safe 

이 작업을 수행하는 코드이며 제대로 작동합니다.