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)}
...