简体   繁体   中英

How to change Line Opacity in google charts?

I am using Google Charts and I am able to change the colour of a line half way through a graph conditionally using a dataView , as shown in code below:

var dataView = new google.visualization.DataView(data);

dataView.setColumns([
    // reference existing columns by index
    0, 1,
    // add function for line color
    {
        calc: function (data, row) {
            var colorDown = '#ff9900';
            var colorUp = '#27B291';
            var opacity  = 'opacity, 0.2;'
            var currentdate = new Date();
            var givendate = new Date(row.getValue)

            if (data.getValue(row, 0) > currentdate) {
                return colorDown;
            } else {
                return colorUp;
            }
        },
        type: 'string',
        role: 'style'
    }
]);

I was wondering if there is way I can also change the line opacity conditionally as I can't seem to find a way to do it and other methods I have tried do not seem to work? Thanks.

using the style column role, you can combine color and opacity as follows...

'color: #ff9900;opacity: 0.2;'

see following working snippet...

 google.charts.load('current', { packages: ['corechart'] }).then(function () { var data = new google.visualization.arrayToDataTable([ ['x', 'y'], [new Date(2018, 6, 15), 2924], [new Date(2018, 6, 16), 2381], [new Date(2018, 6, 17), 2489], [new Date(2018, 6, 18), 2235], [new Date(2018, 6, 19), 2155], [new Date(2018, 6, 20), 2844], ]); var container = document.getElementById('chart_div'); var chart = new google.visualization.LineChart(container); var dataView = new google.visualization.DataView(data); dataView.setColumns([ // reference existing columns by index 0, 1, // add function for line color { calc: function (data, row) { var colorDown = 'color: #ff9900;'; var colorUp = 'color: #27B291;'; var opacity = 'opacity: 0.2;' var currentdate = new Date(); var givendate = new Date(row.getValue) if (data.getValue(row, 0) > currentdate) { return colorDown + opacity; } else { return colorUp + opacity; } }, type: 'string', role: 'style' } ]); chart.draw(dataView, { legend: { position: 'none' } }); }); 
 <script src="https://www.gstatic.com/charts/loader.js"></script> <div id="chart_div"></div> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM