谷歌图表双轴,设置格式

时间:2016-08-02 15:23:49

标签: javascript format google-visualization axis

我创建了一个带有两个x轴的Google条形图。 我的问题是我似乎无法在底部轴上获得正确的格式,应以百分比显示。

我试过使用以下

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

一般情况下,将format:'#%'插入有意义的地方,但似乎没有任何效果。

有没有人对此有所了解?

请在此处查看完整代码: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);
  };

1 个答案:

答案 0 :(得分:0)

以下是您的fidde的更新:https://jsfiddle.net/Balrog30/azr4kfn0/4/

我使用了我编写的一个小编码器来对材料图表选项的更改进行逆向工程,这些选项仍然大部分都没有记录。你可以在这里找到:http://codepen.io/nbering/pen/Kddvge

以下是如何格式化选项:

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

- 或 -

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