加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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字符串,它将正常工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读