2013-04-25 2 views
9

मैं 1e + 0, 2 ई + 0, 3E + 0, 4e + 0 अक्ष मूल्य में के रूप में निम्नलिखित कोड,डी 3 अक्ष स्केल में Logarthmic मानों के बजाय मुझे संख्यात्मक मान कैसे प्राप्त हो सकता है?

d3.scale.log().domain([1,4]).range([h, 0]); 

अक्ष मैं मान हो रही है में करने की कोशिश की। लेकिन मैं lograthmic मूल्यों की आवश्यकता जैसे 10, 100, 1000, 10000 आदि ....

उत्तर

19

उपयोग log.scale अक्ष tickFormat समारोह के साथ संयोजन के रूप में की tickFormat

उदाहरण के लिए।

var s = d3.scale.log().domain([1, 10000]).range([1000, 0]) 

तो, अक्ष की स्थापना:

var axis = d3.svg.axis().scale(s).tickFormat(function (d) { 
     return s.tickFormat(4,d3.format(",d"))(d) 
}) 

उदाहरण

http://jsfiddle.net/2hvxc/

हम चाहते हैं 4 टिक - में से प्रत्येक के सत्ता के लिए एक> 10000 लॉग स्केल - 1 की स्थापना 10 - और एक कोमा के साथ एक अंक के लिए स्वरूपित।

और अक्ष:
https://github.com/mbostock/d3/wiki/SVG-Axes#wiki-tickSize


https://github.com/mbostock/d3/wiki/Formatting

लॉग तराजू के बारे में यहाँ और अधिक जानें:

यहाँ प्रारूपित करने के बारे में और जानें

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