給lazy_high_charts gem一試。
#app/views/layouts/appliction.*
= javascript_include_tag 'highcharts.js'
#Gemfile
gem 'lazy_high_charts'
# my_controller#my_action
x_0 = [23, 4, 2, 2, 4, 4, 5, 3, 334, 2]
y_0= [6, 24, 1, 2, 2, 5, 1, 3, 8, 0]
x_1 = [5, 6, 8, 6, 3, 4, 6, 3, 3]
y_1 = [9, 7, 8, 6, 3, 4, 1, 9, 2]
x_2 = [6, 9, 9, 6, 2, 5, 8, 3]
y_2 = [1, 0, 2, 5, 6, 2, 1, 5]
data_0 = x_0.zip(y_0)
data_1 = x_1.zip(y_1)
data_2 = x_2.zip(y_2)
@h = LazyHighCharts::HighChart.new('graph') do |f|
f.series(:name => "xy0", :data => data_0)
f.series(:name => "xy1", :data => data_1)
f.series(:name => "xy3", :data => data_2)
f.chart({:defaultSeriesType=>"line" })
f.yAxis(:title => { :text => "y axis values" })
f.xAxis(:title => { :text => "x axis values"})
f.title(:text => "XY Graph")
f.plotOptions({}) # override the default values that lazy_high_charts puts there
f.legend({}) # override the default values
end
#app/views/my_controller/my_action
= high_chart("chart", @h)
警告:
HighCharts只是免費爲non-commercial use。這可能或可能不會成爲你的一個破壞者。
感謝您的示例代碼。 HighCharts看起來很棒的工具。我的用法是非商業性的。但是,我無法在我的應用程序中使用它。我遵循你發佈的相同的代碼。該視圖不呈現圖表。它只是空着。任何可能出錯的線索都將不勝感激。此外,我寧願如果我可以避免使用jQuery,因爲我的網頁上的其他代碼段不適用於jQuery。 – rails 2011-06-09 15:24:44
您下載了[highcharts.js](http://www.highcharts.com/download)並將其添加到您的'public/javascripts'文件夾中嗎?另外,Highcharts應該可以處理你已有的任何javascript(jQuery,prototype或mootools)。 – David 2011-06-09 20:44:28
我想澄清,因爲Rails 3有一個特殊的文件夾,用於所有.js文件 - app/assets/javascripts。如果您要使用它的文件,則必須通過包含它來在application.js清單文件中進行聲明。 – 2012-11-17 12:22:52