Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态地将线性渐变更新到海图中的区域?_Javascript_Highcharts_Gradient_Stacked Area Chart - Fatal编程技术网

Javascript 如何动态地将线性渐变更新到海图中的区域?

Javascript 如何动态地将线性渐变更新到海图中的区域?,javascript,highcharts,gradient,stacked-area-chart,Javascript,Highcharts,Gradient,Stacked Area Chart,我正在尝试在面积图中应用渐变。更新后图表将重新渲染。但在这种情况下,渐变不会更新。我感谢您的帮助。我准备进一步提供详细信息。提前感谢您 这是我的尝试 $(function () { $('#container').highcharts({ chart: { type: 'area' }, plotOptions: { series: { fillColor: {

我正在尝试在面积图中应用渐变。更新后图表将重新渲染。但在这种情况下,渐变不会更新。我感谢您的帮助。我准备进一步提供详细信息。提前感谢您

这是我的尝试

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'area'
        },
        plotOptions: {
            series: {
                fillColor: {
                    linearGradient: [0, 0, 0, 300],
                    stops: [
                        [0, '#E6C80E'],
                        [1, '#FEFC50']
                    ]
                }
            }
        },
        series: [{
            data: [20, 200, 100, 0.1, 150, 50, 30, 40, 300]
        }]

    });  
    chart.series[0].update({
        linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},
        stops : [
            [0,'#c74350'],
            [1,'#fe7676']
        ]
    });
});

这是链接

首先,当您使用
chart.series[0]时,您没有
chart
变量。请更新。您可以通过以下方式获得:

Highcharts.charts[0].series[0].update
有关错误,请参阅控制台,它显示
图表
未定义

对于
停止
您使用了错误的格式。像这样使用它:

stops: [[0, '#c74350'],
        [1, '#fe7676']]

这里有一个小问题:

请创建一个JSFIDLE示例我已经用简单的方式修改了代码来解决这个问题。图表[0]和系列[0]是如何工作的?为什么当我使用类似图表[1]或系列[1]时它不起作用?我对此感到困惑。它看起来像选择器,但我不知道它是如何工作的。
charts
页面中有所有图表,
series
表示每个图表中一行上的所有点。你只有一张图表和一个系列,所以索引1不起作用。我可以更新特定Y轴值之间的梯度吗,如果我为Y轴设置最小值和最大值?因为渐变在那里没有显示太大的差异。我知道的是渐变不会随着手动Y轴设置而改变。它实际上会在Highcharts计算的Y轴极值之间应用渐变。是的,这是正确的。但如果要在整个yAxis上使用渐变,请使用以下命令: