在区域图表HighCharts图表中访问svg元素

时间:2019-06-05 23:48:04

标签: svg highcharts

以下代码的最后一行(从HighCharts演示图表页面中复制)更改了arearange系列的不透明度:

var chart=Highcharts.chart('container', {

    series: [{
        name: 'Temperature',
        data: averages,
        zIndex: 1,
        marker: {
            fillColor: 'white',
            lineWidth: 2,
            lineColor: Highcharts.getOptions().colors[0]
        }
    }, {
        name: 'Range',
        data: ranges,
        type: 'arearange',
        lineWidth: 0,
        linkedTo: ':previous',
        color: Highcharts.getOptions().colors[0],
        fillOpacity: 0.3,
        zIndex: 0,
        marker: {
            enabled: false
        }
    }]
});

chart.series[1].update({fillOpacity:0.7},true);

JSFiddle here

(不透明度可以直接在图表对象内部设置,但是我需要在图表创建后对其进行修改,代码是一个模拟我的需求的玩具示例)

我的真实图表有几个arearange系列,对其进行更新很繁琐。有没有一种避免使用.update方法的修改此类属性的方法?那样,有没有办法直接访问与svg系列相对应的arearange元素?

我尝试检查序列.graph的属性,如先前在回答similar的问题中所建议的那样,但是在这种情况下,arearange系列没有.graph属性。

1 个答案:

答案 0 :(得分:1)

可以与问题中提到的答案完全相同,但是不必修改graph,而必须修改area属性。

代码:

  chart.series[1].area.attr({
    fill: 'rgba(124,181,236,0.7)'
  });

演示: