2013-03-08 6 views
5

मैं http://code.shutterstock.com/rickshaw/कैसे रिक्शा रेखांकन पर Y अक्ष मान स्वरूपित करने के लिए

की जावास्क्रिप्ट रेखांकन का उपयोग करना चाहते है और मैं इसे एक अपवाद है जब कम से कम ०.०००००१०० तो y- अक्ष मूल्यों की मेरी मान हैं के लिए काम कर ली वैज्ञानिक प्रारूप में दिखाया गया है, उदाहरण के लिए मूल्य के लिए 2e-7 0.00000020

मैं इसे 2e-7 के बजाय 0.00000020 कैसे दिखाऊं?

उत्तर

4

मैं रिक्शा उपयोग नहीं किया है, लेकिन मुखपृष्ठ पृष्ठ पर इस उदाहरण को देख:

var y_axis = new Rickshaw.Graph.Axis.Y({ 
     graph: graph, 
     orientation: 'left', 
     tickFormat: Rickshaw.Fixtures.Number.formatKMBT, 
     element: document.getElementById('y_axis'), 
}); 

ऐसा लगता है कि आप tickFormat करने के लिए एक समारोह पारित कर सकते हैं। इस मामले में formatKMBT पारित हो जाता है, और यह इस तरह दिखता है:

Rickshaw.Fixtures.Number.formatKMBT = function(y) { 
    var abs_y = Math.abs(y); 
    if (abs_y >= 1000000000000) { return y/1000000000000 + "T" } 
    else if (abs_y >= 1000000000) { return y/1000000000 + "B" } 
    else if (abs_y >= 1000000) { return y/1000000 + "M" } 
    else if (abs_y >= 1000)  { return y/1000 + "K" } 
    ...ect 

यहां से, आप d3 number formatters में बनाया का उपयोग करें या अपने खुद के रोल कर सकते हैं। उदाहरण के लिए:

var yAxis = new Rickshaw.Graph.Axis.Y({ 
      graph: graph, 
      tickFormat: function(y){return y.toPrecision(3)} 
     }); 

आप रख सकते हैं तुम वहाँ चाहते हैं जो कुछ भी समारोह:

function yAxisFormat(d){ return d.toFixed(8); } 
संबंधित मुद्दे