【发布时间】:2015-06-26 02:27:06
【问题描述】:
我正在尝试通过 HighCharts 和 Ruby on Rails 为折线图的每个数据点创建自定义工具提示,以该线程的方式:
Set Additional Data to highcharts series
总结该线程,响应者建议通过哈希向系列输入额外数据。名为“myData”的自定义字段包含工具提示中使用的附加数据:
new Highcharts.Chart( {
...,
series: [{
name: 'Foo',
data: [ { y : 3, myData : 'firstPoint' },
{ y : 7, myData : 'secondPoint' },
{ y : 1, myData : 'thirdPoint' } ]
}]
tooltip: {
formatter: function() {
return 'Extra data: <b>'+ this.point.myData +'</b>';
}
} );
当 myData 的数据字段(即#{i.extraData})为整数时,我已成功使用该代码:
series: [{
data: [ <%@show.each do |i| %> { x: <%="#{i.year}, y: #{i.maturity},
myData: #{i.extraData}"%>},<%end%>]
}]
在这种情况下,我的折线图在 x 和 y 访问中正确显示,并且工具提示包含预期的 i.extraData 的整数。
但这是我的问题。假设我想要的自定义工具提示不是 i.extraData 之类的整数,而是一个字符串。在这种情况下,我的代码会中断。我尝试在#{i.extraData} 的字符串版本周围包含单引号,但我的代码仍然损坏。我不明白如何编辑这部分代码,以便 #{} 内的字符串进入哈希并可以被工具提示读取。
非常感谢您考虑我的问题!
【问题讨论】:
-
您在控制台中遇到的错误是什么?
-
我没有收到任何错误,只是无法加载图表。我也试过 但这也没有用。
-
我的印象是,如果我要删除 myData 字段周围的单引号,我会在 jsfiddle.net/japanick/dWDE6/314 的 jsfiddle 中遇到同样的问题。我认为这是我使用 内部带有字符串的标签所面临的问题。请注意,这不是控制台中的错误,而是图表无法加载。
-
由于您将数据从 Ruby 传递到 JavaScript(我认为?),也许 Ruby 的内置 JSON 模块将有助于解决格式化障碍。这是我首先要尝试的。
-
这听起来很有趣。这是我的第一个 ruby on rails 应用程序,所以我对 JSON 模块不太熟悉。可以详细说明吗?
标签: ruby-on-rails ruby highcharts