为什么我之前工作的谷歌可视化图表在2013年11月26日之后停止工作

Why did my previously working google visualization charts stop working after Nov 26th 2013?

本文关键字:2013年 11月 26日 停止工作 之后 可视化 工作 谷歌 为什么      更新时间:2023-10-23

1)我在代码中得到Uncaught TypeError: undefined is not a function,例如:

var moneyFormat = new google.visualization.TableNumberFormat({prefix: '$', fractionDigits: '2'})

2) 我的图表也停止显示了,下面是一些可以在可视化游乐场中使用的示例代码:

function drawVisualization()
  {
    //Area Chart - Monthly Revenue(yoy)
      var revenueData = new google.visualization.DataTable();
      revenueData.addColumn('string', 'Month');
      revenueData.addColumn('number', new Date().getFullYear());
      revenueData.addColumn('number', new Date().getFullYear() - 1);
      revenueData.addRow(['remove', 0, 0]);
      var revnueOptions = {
          animation: {duration: 450, easing: 'inAndOut',},
          hAxis: {title: 'Months',  titleTextStyle: {color: '#546892'}},
          vAxis: {title: 'Revenue',  titleTextStyle: {color: '#546892'}},
          colors: ['#6B9EB8', '#BDBDBD']
      };
          var revenueChart = new google.visualization.AreaChart(document.getElementById('visualization'));
          revenueChart.draw(revenueData, revnueOptions);
          revenueData.removeRow(0);
          revenueData.addRows([["Jan",476720.91,312755.59],["Feb",257814.89,262533.76],["Mar",314711.67,212908.66],["Apr",467195.04,280168.64],["May",378582.63,234551.38],["Jun",423507.6,223820.38],["Jul",354414.55,239495.22],["Aug",276546.96,215121.71],["Sep",301605.96,414958.25],["Oct",536133.65,315029.05],["Nov",533505.83,560722.95],["Dec",0,815092.65]]);
          revenueChart.draw(revenueData, revnueOptions);
  }

谷歌于2013年11月26日发布了一些更新。

对于问题1:

您应该使用NumberFormat而不是TableNumberFormat。请参阅:google.visualization.NumberFormat

对于问题2:

线路:

revenueData.addColumn('number', new Date().getFullYear());
revenueData.addColumn('number', new Date().getFullYear() - 1);

正在将数字作为第二个参数传递,这导致了错误。您可以将+''添加到空字符串中,或者调用.toString()将其解析为字符串,如下所示:

revenueData.addColumn('number', (new Date().getFullYear())+'');
revenueData.addColumn('number', (new Date().getFullYear() - 1).toString());

似乎以前他们允许你在第二个参数中传递数字,现在他们只强制字符串。

相关文章: