2016-08-02 20 views
1

Ich habe ein Google-Balkendiagramm mit zwei X-Achsen erstellt. Mein Problem ist, dass ich nicht das richtige Format auf der unteren Achse zu bekommen scheint, die in Prozent angezeigt werden sollte.google chart double axis, Format einstellen

Ich habe versucht, die folgenden

axes:{{},{format:'#%'}}} 

Und im allgemeinen das Einfügen format:'#%' an Orten zu verwenden, die Sinn machen würde, aber nichts scheint zu funktionieren.

Gibt es jemanden, der eine Idee dafür hat?

Siehe den gesamten Code hier: https://jsfiddle.net/laursen92/azr4kfn0/1/

 google.charts.load('current', { 
    'packages': ['bar'] 
    }); 
    google.charts.setOnLoadCallback(drawStuff); 

    function drawStuff() { 
    var data = new google.visualization.arrayToDataTable([ 
     ['Slave number', 'Voltage', '%'], 
     ['Slave 1', 12.15, 0.40], 
     ['Slave 2', 12.18, 0.50], 
     ['Slave 3', 11.80, 0.60], 
     ['Slave 4', 13.12, 0.70], 
    ]); 
    var formatter = new google.visualization.NumberFormat({ 
     pattern: '##0.00' 
    }); 
    var formatter2 = new google.visualization.NumberFormat({ 
     pattern: '##0%' 
    }); 
    formatter.format(data, 1); 
    formatter2.format(data, 2); 
    var options = { 
     width: 800, 

     chart: { 
     title: 'Status of slaves', 
     subtitle: 'Overview of the voltage and SOC of connected slaves. ' 
     }, 

     bars: 'horizontal', // Required for Material Bar Charts. 
     series: { 
     0: { 
      axis: 'voltage' 
     }, // Bind series 0 to an axis named 'voltage'. 
     1: { 
      axis: 'percent' 
     } // Bind series 1 to an axis named 'soc'. 
     }, 
     axes: { 
     x: { 
      voltage: { 
      side: 'top', 
      label: 'Voltage' 
      }, // Top x-axis. 
      percent: { 
      label: 'Percent', 
      } // Bottom x-axis. 
     } 
     }, 

    }; 

    var chart = new google.charts.Bar(document.getElementById('dual_x_div')); 
    chart.draw(data, options); 
    }; 

Antwort

0

ein Update für Ihr Fidde hier: https://jsfiddle.net/Balrog30/azr4kfn0/4/

ich das ein wenig codepen schrieb ich verwendet, um die Änderungen an den Materialdiagrammoptionen Reverse-Engineering, die immer noch meist undokumentiert sind. Sie können das hier finden: http://codepen.io/nbering/pen/Kddvge

Hier ist, wie die Option formatiert werden soll:

var options = { 
    axes: { 
    x: { 
     yourAxis: { 
     format: { 
      pattern: "#%" 
     } 
     } 
    } 
}; 

- Oder -

options.axes.x.yourAxis.format.pattern = "#%"; 
+0

Dank und vor allem für die Verbindung codepen! – Martin

+0

Noch eine kurze Frage. Wie würden Sie die Position der Gitternetzlinien ändern, um die Anzahl/Ticks zu ändern? Ich hätte gerne die Prozentangabe in 0 - 25 - 50 - 75 - 100%. Ich habe es gemacht 0 - 100%, aber es geht 0 - 20 - 40 - 60 - 80 - 100% – Martin

+0

Das ist eine völlig neue Frage, und ich weiß nicht aus der Spitze meines Kopfes. Suchen Sie nach Antworten, wie ich weiß, dass andere gefragt haben. Wenn Sie es nicht finden können, können Sie eine neue Frage öffnen. – nbering