ruby-on-rails – 使用带有不显示plotLines的rails的highcharts
发布时间:2020-12-17 02:03:17 所属栏目:百科 来源:网络整理
导读:我正在使用带有rails的高图表库使用找到的宝石 here.一切都工作得非常好,除非我尝试将plotLine添加到任一轴,我似乎无法弄明白.以下是我迄今为止尝试的两个选项及其结果.任何洞察正在发生的事情将非常感激. 选项1: chart.yAxis([{title: 'Y-Axis',min: 0,plo
我正在使用带有rails的高图表库使用找到的宝石
here.一切都工作得非常好,除非我尝试将plotLine添加到任一轴,我似乎无法弄明白.以下是我迄今为止尝试的两个选项及其结果.任何洞察正在发生的事情将非常感激.
选项1: chart.yAxis([{title: 'Y-Axis',min: 0,plotLines: {value: 25}]) 结果:我在JavaScript中遇到错误 Uncaught TypeError: Object #<Object> has no method 'concat' 具体来说,这是在highcharts.js中引用以下代码 each((options.plotLines || []).concat(options.plotBands || []),function (plotLineOptions) { //plotLinesAndBands.push(new PlotLineOrBand(plotLineOptions).render()); axis.addPlotBandOrLine(plotLineOptions); }); 当我暂停执行时,options.plotLines变量是一个Object而不是一个Array,因此没有concat方法. 选项2: chart.yAxis([{title: '',plotLines: [{value: 25}]}]) 结果:页面无法使用Rails中的以下错误消息进行呈现. You must pass a Hash to Highcharts::Axis::PlotLines. You passed [{:value=>25}] 我不知道该怎么做,但是,鉴于high charts的API文档,我希望这可以工作,因为我想提供超过1个plotLine. 我也试图使用chart.renderer.path,但也失败了.有人可以解释发生了什么,并希望建议一种方法,我可以在这个宝石的Rails中的高图表图形上绘制一条水平线. 谢谢 解决方法
我实际上通过操纵HighCharts ruby??对象产生的底层JavaScript来解决这个问题.这是执行此操作的代码
chart.yAxis([{title: '',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 这将使用javascript中的plotLines修改plot_lines_replace字符串,它将正常工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |