Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 Highcharts饼图使用colorValue对颜色强度进行切片_Javascript_Jquery_Charts_Highcharts - Fatal编程技术网

Javascript Highcharts饼图使用colorValue对颜色强度进行切片

Javascript Highcharts饼图使用colorValue对颜色强度进行切片,javascript,jquery,charts,highcharts,Javascript,Jquery,Charts,Highcharts,我正在努力实现与这里所看到的相同的目标: 除了用饼图 我将其设置为: $('#expenditurePie').highcharts({ chart: { plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, backgroundColor: '#121212

我正在努力实现与这里所看到的相同的目标:

除了用饼图

我将其设置为:

 $('#expenditurePie').highcharts({
            chart: {
                plotBackgroundColor: null,
                plotBorderWidth: null,
                plotShadow: false,
                backgroundColor: '#121212',
                height: 322,
                className: 'summary-chart-right'
            },
            title: null,
            tooltip: {
                pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
            },
            plotOptions: {
                pie: {
                    allowPointSelect: true,
                    borderColor: '#000',
                    cursor: 'pointer',
                    dataLabels: false
                }
            },
            colorAxis: {
                minColor: '#FFFFFF',
                maxColor: '#FF0000'
            },
            series: response
        });
它不起作用,饼图颜色是它们的默认颜色

如何执行此操作?

根据,colorValue仅在树形图上可用

然而,你可以毫不费力地做一件类似的事情。不要使用
colorValue
,而是使用
color
,然后调用函数获取值。下面是一个快速而肮脏的示例,可以通过各种方式进行改进,具体取决于您想要的行为:

var getColor = function (step,stepCount) {
    var scaledHex = Math.floor(255*step/(stepCount+1)).toString(16);
    console.log(scaledHex);
    return '#FF'+scaledHex+scaledHex;
};


谢谢。系列数据是用PHP确定的,所以我只需要修改您在JS中编写的内容。您甚至可能不需要这样做,这取决于代码的结构。您可以让PHP创建series对象,其中包含函数调用,如我的示例所示,highcharts将在呈现时动态调用javascript函数。不过,将逻辑移到PHP中也会起作用。
var getColor = function (step,stepCount) {
    var scaledHex = Math.floor(255*step/(stepCount+1)).toString(16);
    console.log(scaledHex);
    return '#FF'+scaledHex+scaledHex;
};
...
{name: "Leisure", y: 143.55, color: getColor(1,3)}
...