2012-04-23 6 views
7
var W = 100; 
var H = 200; 

var data = [{v:4}, {v:8}, {v:15}, {v:16}, {v:23}, {v:42}]; 

var x = d3.scale.linear().domain([0, max_x]).range([0, W]); 
var y = d3.scale.ordinal().domain([0, 1, 2, 3, 4, 5]).rangeBands([0, H]); 

कैसे मैं अपने आप जैसे इसे पूरा लिखने के बिना डेटा के डोमेन की गणना करते हैं, 0, 1, 2, 3 मैं domain(data) की कोशिश की है, और domain([0, data.length]), लेकिन मैं के बीच में सभी मूल्यों की जरूरत है।मैं d3.scale.ordinal() में डोमेन कैसे निर्दिष्ट करूं?

उत्तर

11

यदि आप ऑर्डिनल स्केल का डोमेन अपने डेटा की अनुक्रमणिका चाहते हैं, तो d3.range का उपयोग करें। उदाहरण के लिए, d3.range(data.length)[0, 1, 2, 3, 4, 5] देता है।

संबंधित मुद्दे