ruby-on-rails – Rails chartkick:在多系列折线图中自定义单独
发布时间:2020-12-16 21:03:33 所属栏目:百科 来源:网络整理
导读:我正在使用chartkick制作一个包含以下代码的多系列折线图: %= line_chart [ {name: @track.name,data: records_of_track(@track).map{|record| [record.time_entered,record.entry]}},{name: "Goal",data: [[@track.goal_by,@track.goal]]},{name: "Goal tr
我正在使用chartkick制作一个包含以下代码的多系列折线图:
<%= line_chart [ {name: @track.name,data: records_of_track(@track).map{|record| [record.time_entered,record.entry]}},{name: "Goal",data: [[@track.goal_by,@track.goal]]},{name: "Goal trend line",data: [[most_recent_record(@track).time_entered,most_recent_record(@track).entry],[@track.goal_by,@track.goal]]} ]%> 这就是它的样子: 基本的想法是蓝色是用户输入的内容,红色是他们的目标黄色加入用户最近进入目标的某种“趋势线”.我想自定义趋势线没有端点(pointSize:0)和虚线(lineDashStyle:[5,5]),而不是其他两个.我试过这样做 <%= line_chart [ {name: @track.name,@track.goal]],library: {pointSize: 0,lineDashStyle: [5,5]}} ]%> 但它没有用,因为我得到了与以前相同的输出并尝试这样做 <%= line_chart [ {name: @track.name,@track.goal]]} ],5]} %> 但这使得所有的线都破了,并且消失了所有的点,正如预期的那样: 那么如何使这些属性仅适用于一条曲线而不适用于其他两条曲线呢?如果没有直接的chartkick实现,知道如何只使用谷歌图表来做这件事也会有所帮助.只要我获得功能! – 编辑1:看到this后,我尝试使用系列选项来改变一些参数(这里:lineWidths,因为它最容易键入),但这也没有用,我得到了一条错误信息.这是我的代码: <%= line_chart [ {data: [[most_recent_record(@track).time_entered,{name: @track.name,@track.goal]]} ],library: library_settings %> 同 <% library_settings = { width: 600,vAxis: {ticks: choose_ticks(@track)},colors: ['ff9900','3366cc','dc3912'],series: { 0: {lineWidth: 1},1: {lineWidth: 2},2: {lineWidth: 10} } } %> 但我只得到了错误 ....html.erb:16: syntax error,unexpected ':',expecting => 0: {lineWidth: 1},^ ....html.erb:16: syntax error,unexpected ',',expecting keyword_end ....html.erb:17: syntax error,expecting keyword_end ....html.erb:19: syntax error,unexpected '}',expecting keyword_end 解决方法
看来你现在正处于正确的道路上.您现在获得的语法错误应该通过以下方式修复:
<% library_settings = { width: 600,series: { 0 => {lineWidth: 1},1 => {lineWidth: 2},2 => {lineWidth: 10} } } %> 变量library_settings是一个ruby散列,在ruby中,数字键允许使用哈希值,但它们必须使用hashrocket语法,而不是新的冒号语法.为了澄清: 2.1.2 :001 > { 0: {lineWith: 1} } SyntaxError: (irb):1: syntax error,expecting => { 0: {lineWith: 1} } ^ (irb):1: syntax error,expecting end-of-input 但 2.1.2 :002 > { 0 => {lineWith: 1} } => {0=>{:lineWith=>1}} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |