![](/img/trans.png)
[英]Chartkick with Ruby on Rails to render a line_chart with multiple series
[英]Rails Chartkick Lines not drawing in multi-series line_chart
為什么線條不連接圖表上的點? 我知道最后一個數組項沒有數據,但我不認為這是問題。
[1] pry(#<#<Class:0x007fb1936e6828>>)> result
[
[0] {
:name => "Positive Room Pressure",
:data => {
Thu, 12 Jun 2014 16:25:28 UTC +00:00 => true,
Mon, 16 Jun 2014 19:27:21 UTC +00:00 => true,
Tue, 01 Jul 2014 08:58:40 UTC +00:00 => true,
Mon, 07 Jul 2014 19:21:42 UTC +00:00 => true,
Wed, 23 Jul 2014 20:43:23 UTC +00:00 => true,
Wed, 23 Jul 2014 21:05:04 UTC +00:00 => true,
Fri, 25 Jul 2014 05:24:18 UTC +00:00 => false,
Mon, 25 Aug 2014 13:29:40 UTC +00:00 => true
},
:discrete => true
},
[1] {
:name => "Room Humidity",
:data => {
Fri, 16 May 2014 12:13:07 UTC +00:00 => 65.0,
Tue, 10 Jun 2014 19:27:53 UTC +00:00 => 64.0,
Wed, 11 Jun 2014 15:45:17 UTC +00:00 => 65.0,
Thu, 12 Jun 2014 16:25:27 UTC +00:00 => 25.0,
Mon, 16 Jun 2014 19:27:22 UTC +00:00 => 66.0,
Mon, 16 Jun 2014 20:35:34 UTC +00:00 => 97.0,
Tue, 01 Jul 2014 08:58:46 UTC +00:00 => 70.0,
Mon, 07 Jul 2014 19:22:25 UTC +00:00 => 52.0,
Wed, 23 Jul 2014 21:05:18 UTC +00:00 => 65.0,
Mon, 25 Aug 2014 13:29:32 UTC +00:00 => 0.3
},
:discrete => true
},
[2] {
:name => "Ambient Temperature",
:data => {
Fri, 16 May 2014 12:13:10 UTC +00:00 => 33.0,
Tue, 10 Jun 2014 19:28:05 UTC +00:00 => 32.5,
Wed, 11 Jun 2014 15:45:25 UTC +00:00 => 33.0,
Thu, 12 Jun 2014 16:25:40 UTC +00:00 => 34.0,
Mon, 16 Jun 2014 19:27:23 UTC +00:00 => 26.0,
Tue, 01 Jul 2014 08:58:51 UTC +00:00 => 25.0,
Mon, 07 Jul 2014 19:22:33 UTC +00:00 => 34.0,
Wed, 23 Jul 2014 21:05:29 UTC +00:00 => 23.0,
Tue, 12 Aug 2014 22:39:31 UTC +00:00 => 41.0,
Mon, 25 Aug 2014 13:29:31 UTC +00:00 => 23.0
},
:discrete => true
},
[3] {
:name => "smell",
:data => {},
:discrete => true
}
]
![我的測試圖] [1]
[1]: http : //i.stack.imgur.com/u4JkJ.jpg強文本
生成圖表的ERB如下所示:
我也遇到了這個問題,並通過確保我的日期字段都具有相同的值來解決它。 由於我每天進行匯總,因此該字段上的時間值毫無意義。 通過將DateTime對象轉換為Date對象,我很快解決了該問題。
User.first.created_at.to_date
我希望這有幫助!
如先前的回答所述,這似乎是由於數據點不共享x軸值。 但是,Highcharts可以很好地處理此類不規則數據,並且Chartkick支持它。 僅提供Highcharts(和jQuery作為依賴項)而不是Google圖表,例如
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="path/to/chartkick.js"></script>
有關演示,請訪問: http : //www.highcharts.com/demo/spline-irregular-time
我只是遇到了同樣的問題,我想通了。 如果數據元素之一為空哈希,則Chartkick無法繪制線條。
在您的情況下,第三個數組對象的數據哈希為空。 將其替換為以下代碼段,您將看到以下行
[3] {
:name => "smell",
:data => {
Fri, 16 May 2014 12:13:10 UTC +00:00 => 33.0,
Tue, 10 Jun 2014 19:28:05 UTC +00:00 => 32.5
}
:discrete => true
}
我碰到同樣的事情,發現當您的數據點不共享X軸值時會發生這種情況。 因此,在您的示例中,數組中每個哈希的哈希鍵都必須相同。
編輯(2):我直接使用Google Charts散點圖( https://developers.google.com/chart/interactive/docs/gallery/scatterchart )進行工作。 我必須對數據進行一些排列才能使其正常工作...數據需要看起來如下所示才能獲得多折線圖效果:
[['count', 'users', 'page views', 'bounces'],
[ new Date('09 Oct 2014'), 0, null, null ],
[ new Date('10 Oct 2014'), 1, null, null ],
[ new Date('11 Oct 2014'), 3, null, null ],
[ new Date('12 Oct 2014'), 3, null, null ],
[ new Date('09 Oct 2014'), null, 2, null ],
[ new Date('11 Oct 2014'), null, 15, null ],
[ new Date('12 Oct 2014'), null, 17, null ],
[ new Date('10 Oct 2014'), null, null, 1 ],
[ new Date('11 Oct 2014'), null, null, 10 ],
[ new Date('12 Oct 2014'), null, null, 10 ]]
還有這個: https : //github.com/JohnathanWeisner/chartkick/tree/FEATURE/Trendline 。 這是一個添加scatter_chart的fork,但是我不喜歡在ruby中進行必要的數據排列:P
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.