【问题标题】:Tooltip number formatting in google chart谷歌图表中的工具提示数字格式
【发布时间】:2018-08-06 09:27:00
【问题描述】:

如何在谷歌图表的工具提示中格式化数字?我尝试在数据表中应用"none" 格式,并在谷歌图表选项的h 轴上应用"####" 格式,但仍然可以在工具提示中看到2,012。

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

  function drawChart() {
    var data = google.visualization.arrayToDataTable([
            [
            {label: "year", type: "number", format: "none"},
            {label: "performance", type: "number", format: "none"},
        ],
        ["2009", 10],
        ["2010", 15],
        ["2011", 3],
        ["2012", 5]
    ]);

    var options = {
      title: 'Company Performance',
      hAxis: {title: 'Year',  titleTextStyle: {color: '#333'}, format: "####"},
      vAxis: {minValue: 0}
    };

    var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
    chart.draw(data, options);
  }

JSFiddle 可以在这里找到: https://jsfiddle.net/ux37j0dk/3/

【问题讨论】:

    标签: charts google-visualization


    【解决方案1】:

    默认情况下,tooltip会显示数据表格单元格的格式化值

    可以使用NumberFormat类来格式化数据表...

      var yearPattern = "0";
      var formatNumber = new google.visualization.NumberFormat({
        pattern: yearPattern
      });
      formatNumber.format(data, 0);
    

    请参阅以下工作 sn-p...

    google.charts.load('current', {
      'packages': ['corechart']
    });
    google.charts.setOnLoadCallback(drawChart);
    
    function drawChart() {
      var data = google.visualization.arrayToDataTable([
        [{
            label: "year",
            type: "number",
            format: "none"
          },
          {
            label: "performance",
            type: "number",
            format: "none"
          },
        ],
        ["2009", 10],
        ["2010", 15],
        ["2011", 3],
        ["2012", 5]
      ]);
      
      var yearPattern = "0";
      var formatNumber = new google.visualization.NumberFormat({
        pattern: yearPattern
      });
      formatNumber.format(data, 0);
    
      var options = {
        title: 'Company Performance',
        hAxis: {
          title: 'Year',
          titleTextStyle: {
            color: '#333'
          },
          format: yearPattern
        },
        vAxis: {
          minValue: 0
        }
      };
    
      var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    }
    <script src="https://www.gstatic.com/charts/loader.js"></script>
    <div id="chart_div"></div>

    您还可以使用对象表示法来提供值 (v:) 和格式化值 (f:),
    加载数据表时...

    [{v: "2009", f: "2009"}, 10],
    

    请参阅以下工作 sn-p...

    google.charts.load('current', {
      'packages': ['corechart']
    });
    google.charts.setOnLoadCallback(drawChart);
    
    function drawChart() {
      var data = google.visualization.arrayToDataTable([
        [{
            label: "year",
            type: "number",
            format: "none"
          },
          {
            label: "performance",
            type: "number",
            format: "none"
          },
        ],
        [{v: "2009", f: "2009"}, 10],
        [{v: "2010", f: "2010"}, 15],
        [{v: "2011", f: "2011"}, 3],
        [{v: "2012", f: "2012"}, 5]
      ]);
      
      var yearPattern = "0";
    
      var options = {
        title: 'Company Performance',
        hAxis: {
          title: 'Year',
          titleTextStyle: {
            color: '#333'
          },
          format: yearPattern
        },
        vAxis: {
          minValue: 0
        }
      };
    
      var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    }
    <script src="https://www.gstatic.com/charts/loader.js"></script>
    <div id="chart_div"></div>

    【讨论】:

    • 嗨,谢谢它有效。只有一个问题如何在 DataView 类上使用它?我的意思是 google.visualization.NumberFormat 的第一个解决方案
    • 格式化程序不适用于数据视图,在创建视图之前应用,或者将视图转换回数据表 --> view = view.toDataTable(); -- 然后使用格式化程序...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多