Ruby on rails rails和highcharts中的数组问题
在lazy highcharts代码的series部分中,我在显示数组中的数据时遇到问题。“dates”变量在“f.options[:xAxis][:categories]=dates”部分中运行良好,但在“f.series(:type=>'area',:name=>'Degree',:data=>temps,:color=>'#00463f')中为空,我不确定这是为什么 数据来自一个上传的csv文件,我用回形针gem来实现 控制器Ruby on rails rails和highcharts中的数组问题,ruby-on-rails,highcharts,Ruby On Rails,Highcharts,在lazy highcharts代码的series部分中,我在显示数组中的数据时遇到问题。“dates”变量在“f.options[:xAxis][:categories]=dates”部分中运行良好,但在“f.series(:type=>'area',:name=>'Degree',:data=>temps,:color=>'#00463f')中为空,我不确定这是为什么 数据来自一个上传的csv文件,我用回形针gem来实现 控制器 def show @soiltemp = Soilte
def show
@soiltemp = Soiltemp.find(params[:id])
@data = CSV.open(@soiltemp.csv.path, :headers => true, :encoding => 'ISO-8859-1')
dates = []
temps = []
@data.each do |row|
dates << row[1]
temps << row[2]
end
@graph = LazyHighCharts::HighChart.new('graph') do |f|
f.options[:xAxis][:categories] = dates
f.series(:type => 'area', :name => 'Degree', :data => temps, :color => '#00463f' )
f.series(:type => 'spline',:name => 'Average', :data => [3, 2.67, 3, 6.33, 3.33])
end
end
def显示
@soiltemp=soiltemp.find(参数[:id])
@data=CSV.open(@soiltemp.CSV.path,:headers=>true,:encoding=>ISO-8859-1)
日期=[]
temps=[]
@数据。每个do |行|
日期'Degree',:data=>temps,:color=>'#00463f')
f、 系列(:type=>'spline',:name=>'Average',:data=>[3,2.67,3,6.33,3.33])
结束
结束
Highcharts期待该系列的数字。您正在temp
数组中传递字符串。使用行[2]。在建立temps
时,使用i
(如果它们是整数)是否打印出temps
值?是的,它可以正常工作,因为它打印出温度列表。所以我很困惑为什么它不会在我的high charts代码中注册。它们是字符串还是数字?数字,但csv不是作为列加载到我的数据库中,而是作为文件加载的。你介意在调用LazyHighCharts
之前发布temps.inspect
的值吗?太好了。太感谢你了,彼得。不知道为什么我没有想到这个选择!