Javascript 谷歌图表转换动画:如何在重新绘制图表时更改轴标签?

Javascript 谷歌图表转换动画:如何在重新绘制图表时更改轴标签?,javascript,google-visualization,Javascript,Google Visualization,使用,我创建了一个图表,单击图表下方的按钮可以重新绘制(完整的功能代码可以在下面找到)。单击按钮后,图表将显示新值和新标题 我使用以下代码更改函数图表中的标题: options['title']='Monthly'+(当前的'Test A':'Test B')+'Production by Country' 现在我的问题是:我还想在单击按钮时更改横轴的标题。如果没有按钮(在静态版本中),可以通过向选项添加以下代码来实现: hAxis: {title: 'Axis Title'} 但是,当我将以

使用,我创建了一个图表,单击图表下方的按钮可以重新绘制(完整的功能代码可以在下面找到)。单击按钮后,图表将显示新值和新标题

我使用以下代码更改函数图表中的标题:

options['title']='Monthly'+(当前的'Test A':'Test B')+'Production by Country'

现在我的问题是:我还想在单击按钮时更改横轴的标题。如果没有按钮(在静态版本中),可以通过向选项添加以下代码来实现:

hAxis: {title: 'Axis Title'}
但是,当我将以下代码添加到我的函数(在上面显示的标题调整之后)时,没有任何更改:

options['hAxis.title']='title'+(当前的'Test A':'Test B')

有人知道我需要如何更改上面的代码才能更改axis标题吗

这是我的完整代码:

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data1 = google.visualization.arrayToDataTable([
      ['Mon', 20, 28, 38, 45],
      ['Tue', 31, 38, 55, 66],
      ['Wed', 50, 55, 77, 80]
      // Treat first row as data as well.
    ], true);

    var data2 = google.visualization.arrayToDataTable([
      ['Mon', 23, 23, 39, 42],
      ['Tue', 34, 34, 59, 64],
      ['Wed', 55, 52, 79, 80]
      // Treat first row as data as well.
    ], true);

    // Create and populate the data tables.
    var data = [];
    data[0] = data1;
    data[1] = data2;

    var options = {
      legend:'none'
    };

    var current = 0;
    var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div'));
    var button = document.getElementById('b1');

    function drawChart() {
      // Disabling the button while the chart is drawing.
      button.disabled = true;
      google.visualization.events.addListener(chart, 'ready',
          function() {
            button.disabled = false;
            button.value = 'Switch to ' + (current ? 'Test A' : 'Test B');
          });
      options['title'] = 'Monthly ' + (current ? 'Test A' : 'Test B') + ' Production by Country';

      chart.draw(data[current], options);
    }
    drawChart();

    button.onclick = function() {
      current = 1 - current;
      drawChart();
    }

}
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
    <input type="button" value="Next day" id="b1" />
  </body>
</html>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data1=google.visualization.arrayToDataTable([
[‘来吧’、20、28、38、45],
[Tue',31,38,55,66],
[Wed',50,55,77,80]
//也将第一行视为数据。
],对);
var data2=google.visualization.arrayToDataTable([
[‘来吧’、23、23、39、42],
[Tue',34,34,59,64],
[Wed',55,52,79,80]
//也将第一行视为数据。
],对);
//创建并填充数据表。
var数据=[];
数据[0]=数据1;
数据[1]=数据2;
变量选项={
图例:“无”
};
无功电流=0;
var chart=new google.visualization.CandlestickChart(document.getElementById('chart_div'));
var按钮=document.getElementById('b1');
函数绘图图(){
//在绘制图表时禁用该按钮。
button.disabled=true;
google.visualization.events.addListener(图表'ready',
函数(){
button.disabled=false;
button.value='切换到'+(当前?'测试A':'测试B');
});
选项['title']='Monthly'+(当前的'Test A':'Test B')+'Production by Country';
图表绘制(数据[当前],选项);
}
图纸();
button.onclick=函数(){
电流=1-电流;
图纸();
}
}

非常感谢

我发现最简单的方法是首先在选项中定义
hAxis

var options = { hAxis: {title: "Axis Title"}, legend:'none' }; 变量选项={ 哈克斯:{title:“轴心国标题”}, 图例:“无” }; 然后在addListener函数下面添加这行代码:

options.hAxis.title = (current ? 'Test A' : 'Test B') options.hAxis.title=(当前的“测试A”:“测试B”)
options['hAxis.title']
可能与
options.hAxis.title
不同。我没有对此进行测试,但您键入的内容可能更像这个对象文字:
{'hAxis.title':'title'}