我正在使用 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, 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]] , library: {pointSize: 0, lineDashStyle: [5,5]}}
]%>
但它没有用,因为我得到了与以前相同的输出并尝试这样做
<%= 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]]}
] , library: {pointSize: 0, lineDashStyle: [5,5]} %>
但这使得所有线条都像预期的那样虚线并消失了所有点:
那么如何使这些属性仅适用于一条曲线而不适用于其他两条曲线呢?如果没有直接的chartkick 实现,那么了解我如何仅使用谷歌图表来做到这一点也会很有帮助。只要我得到功能!
--
编辑1:看到这个之后,我尝试使用该series
选项来改变一些参数(这里:lineWidth
因为它最容易输入),但这也不起作用,我收到一条错误消息。这是我的代码:
<%= line_chart [
{data: [[most_recent_record(@track).time_entered, most_recent_record(@track).entry], [@track.goal_by, @track.goal]]},
{name: @track.name, data: records_of_track(@track).map{|record| [record.time_entered, record.entry]}},
{name: "Goal", data: [[@track.goal_by, @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, unexpected ',', expecting keyword_end ....html.erb:19: syntax error, unexpected '}', expecting keyword_end