2014-11-20 40 views
1

我正在使用酒窩js爲每天(週日,週一......)製作帶有一個酒吧的條形圖。問題是,有時幾天內不會有數據,但我仍然希望我的圖表顯示所有日期的值爲0.修復分類中的類別在酒窩js

如何修復應顯示在軸上的所有類別?

編輯: 這裏有一個演示:jsfiddle.net/neme8got/ 我想要的圖表顯示了量0

+0

可以添加代碼,證明您目前的做法以及它如何不工作,在jsbin或其他地方? – ne8il 2014-11-21 19:59:17

+0

編輯過該問題以包含演示。看看... – huhahihi 2014-11-22 11:23:24

+0

如何提供數據的0值?像:'... {「Avg Volume」:0,「Day」:「Monday」} ...'? – 2014-11-22 11:44:09

回答

1

我不相信有一個簡單的方法來做到這一點現在顯示的天數不與酒窩。 x軸上顯示的值由axis._scale.domain()提供。不幸的是,即使將其設置爲整個值的數組,凹坑也會在drawmethod期間使用從類別字段字符串中的數據中提取的值覆蓋此值。

最好的辦法是改變數據(在客戶端或服務器端)爲所有缺失的日子添加值。我已經更新(使用Underscore.js)的例子就擺在0值丟失的天:

var allDays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]; 
var missing = _.difference(allDays, _.pluck(avg_by_day, 'Day')); 
_.each(missing, function(missingDay){ 
    avg_by_day.push({'Avg Volume' : 0, 'Day' : missingDay}); 
}); 

http://jsfiddle.net/neme8got/1/

+0

該代碼不能在我的頁面上工作。是否與jQuery有衝突? – huhahihi 2014-11-24 19:43:32

+0

您是否在頁面上包含Underscore?如果沒有它,你可以編寫相同的代碼,這只是找到缺失值的簡單方法。不應該與jQuery發生任何衝突。 – ne8il 2014-11-24 19:52:57

+0

不,不包括下劃線。我是不是該?另一個可能的原因可能是,在我的實際代碼中,avg_by_day來自詞典'var avg_by_day = all_data ['avg_by_day'];'。這可能是問題嗎? – huhahihi 2014-11-24 20:02:29