Google 图表 API 根据控件选择更改颜色

Google Charts API change color based on control selection

本文关键字:选择 颜色 控件 图表 API Google      更新时间:2023-09-26

>我有一个谷歌图表,我正在尝试根据类别控件更改颜色。

我的图表是一个直方图,它应该根据编程下拉列表中的选择改变颜色。 我的部分代码如下所示:

    var dashboard = new google.visualization.Dashboard(
      document.getElementById('programmatic_dashboard_div'));

    programmaticDropdown = new google.visualization.ControlWrapper({
      'controlType': 'CategoryFilter',
      'containerId': 'programmatic_control_div',
      'options': {
        'filterColumnLabel': 'Type',
        'ui': {'allowMultiple': false},
      }
    });
   programmaticChart  = new google.visualization.ChartWrapper({
    'chartType': 'Histogram',
    'containerId': 'programmatic_chart_div',
    'options': {
      'title': 'Issues by Month',
      'legend': 'none',
      'height':400,
      'hAxis': { 
          'viewWindowMode':'explicit',
          'viewWindow':{
            'max':13,
            'min':0
          }
        }
    },
     'view': { 'columns': [0, 1] }
  });


  dashboard.bind(programmaticDropdown, programmaticChart);
  dashboard.draw(data);
}

另外,这里有一个指向谷歌图表控件文档的链接,其中包含一些 UI 信息......谁能帮忙?

谢谢!!!

https://developers.google.com/chart/interactive/docs/gallery/controls?hl=en#controls-gallery

解决了!!为此,我必须在代码中添加事件侦听器和函数。 见下文。

google.visualization.events.addListener(programmaticDropdown, 'statechange', changeTitle);

function changeTitle () {
    var location = programmaticDropdown.getState().selectedValues[0];
    if (location == "CLOSED") {
        programmaticChart.setOption('colors', ['#e7711c']);
    } else if (location == "OPEN") {
        programmaticChart.setOption('colors', ['#ff0000']);
    }
    programmaticChart.draw();
}