2012-11-08 70 views
4

我正在使用軌道使用高圖表庫,使用發現here的gem。一切工作都非常好,除非我嘗試添加plotLine到任一軸,我似乎無法弄清楚。以下是我迄今嘗試過的兩個選項及其結果。任何對發生的事情的深入瞭解都將倍受讚賞。使用軌道不顯示plotLines的highcharts

選項1:

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

結果:我得到一個錯誤在JavaScript的

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

具體地說,這是在參考highcharts.js以下代碼

​​

當我暫停執行那裏options.plotLines變量是一個對象,而不是一個數組,因此沒有concat我的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中使用此Gem繪製橫跨高圖表圖形的水平線。

由於

回答

1

我實際上由操縱由HighCharts產生的潛在的javascript這出Ruby對象。這裏是要做的代碼

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 

這將修改plot_lines_replace字符串與javascript中的plotLines,它會正常工作。