如何在 Google 折线图中动态更改线宽?

How to dynamically change line width in Google Line Chart?

我有一个复杂的折线图,我想在将鼠标移到数据集上时突出显示(加粗)线条。事件 "select" 和 "onmouseover" 我可以捕捉到,但我如何动态更改数据集的线宽?或者是否有其他可能性来突出显示所选行?

根据 Customizing Lines,Google 图表中的行可以通过两种不同的方式自定义:使用 colors 选项更改图表调色板,或使用 series 选项指定特定系列的颜色。

以下示例演示了如何在选择事件中突出显示行:

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

function drawChart() {

    var data = new google.visualization.DataTable();
    data.addColumn('number', 'Day');
    data.addColumn('number', 'Guardians of the Galaxy');
    data.addColumn('number', 'The Avengers');
    data.addColumn('number', 'Transformers: Age of Extinction');

    data.addRows([
        [1, 37.8, 80.8, 41.8],
        [2, 30.9, 69.5, 32.4],
        [3, 25.4, 57, 25.7],
        [4, 11.7, 18.8, 10.5],
        [5, 11.9, 17.6, 10.4],
        [6, 8.8, 13.6, 7.7],
        [7, 7.6, 12.3, 9.6],
        [8, 12.3, 29.2, 10.6],
        [9, 16.9, 42.9, 14.8],
        [10, 12.8, 30.9, 11.6],
        [11, 5.3, 7.9, 4.7],
        [12, 6.6, 8.4, 5.2],
        [13, 4.8, 6.3, 3.6],
        [14, 4.2, 6.2, 3.4]
    ]);

    var options = {
        chart: {
            title: 'Box Office Earnings in First Two Weeks of Opening',
            subtitle: 'in millions of dollars (USD)'
        },
        series: {
            0: { lineWidth: 1 },
            1: { lineWidth: 1 },
            2: { lineWidth: 1 }
        },
        width: 900,
        height: 500
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart'));
    google.visualization.events.addListener(chart, 'select', function() { highlightLine(chart,data, options); });

    chart.draw(data, options);
}


function highlightLine(chart,data,options) {
    var selectedLineWidth = 4;
    var selectedItem = chart.getSelection()[0];
    //reset series line width to default value
    for(var i in options.series) {
        options.series[i].lineWidth = 1;
    }
    options.series[selectedItem.column-1].lineWidth = selectedLineWidth; //set selected line width
    chart.draw(data, options);   //redraw
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<div id="chart"></div>