如何为 3d 应用径向渐变但仅适用于特定图表?

How can I apply a radial gradient for 3d but ONLY for particular charts?

this Highcharts Scatter 3d example 上它应用径向渐变,以便在使用 3d 时标记更好看。就我而言,我也想使用 colorByPoint: true,但我不想将径向渐变应用于所有图表(如该示例所示)。在我的例子中,我的报告可能会显示几个不同的图表(有些也会使用 `colorByPoint1)并且我不希望所有图表都采用径向渐变。然而,我想要默认的 Highcharts 颜色。

我如何调整上面的示例,以便径向渐变仅应用于图表的一个实例?

非常感谢,

演示的设置方式,顶部的代码块正在设置 Highcharts 的颜色,这将应用于所有未明确指定颜色集的图表:

Highcharts.getOptions().colors = $.map(Highcharts.getOptions().colors, function (color) {...}

您可以做的是设置一个变量来保存径向颜色:

    // Give the points a 3D feel by adding a radial gradient
    var radColors = $.map(Highcharts.getOptions().colors, function(color) {
        return {
            radialGradient: {
                cx: 0.4,
                cy: 0.3,
                r: 0.5
            },
            stops: [
                [0, color],
                [1, Highcharts.Color(color).brighten(-0.2).get('rgb')]
            ]
        };
    });

然后将该变量指定为 colors 属性,用于您要使用它的图表:

var chart = new Highcharts.Chart({
  colors: radColors,
  chart: { ... }
  ...
});

已更新 Fiddle 多个图表:

您可以创建任意数量的颜色集变量,并根据需要将它们提供给不同的图表类型。