【发布时间】:2013-03-11 14:36:27
【问题描述】:
我有一个名为“hack”的模型,它可以有许多“序列”。每个“系列”可以有许多“观察”。 “观察”是图表数据(例如日期和值所在的位置)。我希望能够创建一个单一黑客图表,该图表可以具有可变数量的连续剧,每个连续剧都包含“观察”中图表的值。
我的 hack 控制器的“显示”操作如下所示:
def show
@hack = Hack.find(params[:id])
@obj = {}
@hack.serials.each do |s|
@obj[:name] = s.series_name
data = s.observations.order("id asc").map{|x| [x.hs_date, x.value]}.to_s.gsub('"', '')
@obj[:data] = data
end
end
show.html.erb 文件如下所示:
<div id="container" style="height: 500px; min-width: 500px"></div>
<script>
$(function() {
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
series :
<%= raw @obj.to_json %>
});
});
</script>
运行此代码时,图表显示“无效日期”。我知道数据是正确的,因为 Highstocks 在我使用单个数据系列时会正确生成图表。在这种情况下,hack 控制器的显示操作是:
def show
@hack = Hack.find(params[:id])
end
show.html.erb 文件为:
<div id="container" style="height: 500px; min-width: 500px"></div>
<script>
$(function() {
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
series : [{
name: 'first',
data: <%= raw @serial.observations.order("id asc").map{|x| [x.hs_date, x.value]}.to_s.gsub('"', '') %>
}]
});
});
</script>
我的问题是如何从 rails 向 Highstocks 图表添加 n 个连续剧,其中 n = 特定 hack 中的连续剧数?
【问题讨论】:
-
整个连续剧、hacks 等有点难以理解,但一个“连续剧”是否等于图中的一个“线”?
-
@MatthewKremer,是的。序列可以类似于“美国 GDP”,其中观察值是给定日期范围内 GDP 的实际值。
标签: ruby-on-rails ruby-on-rails-3 highcharts