Charts 谷歌可视化-设置饼图切片颜色

Charts 谷歌可视化-设置饼图切片颜色,charts,google-visualization,Charts,Google Visualization,我有一个用于饼图的数据表,我需要根据行中的值设置切片的颜色。例如,我有一个按类型(如租赁、现金、财务)划分的汽车销售表,我想为每个表指定一种颜色。在文档中,似乎可以用条形图来实现这一点,但我似乎不能用切片来实现。我尝试了以下方法: var pieChart = new google.visualization.ChartWrapper({ options : { ... slices: [{color: 'black'}, {color: 'green'}

我有一个用于饼图的数据表,我需要根据行中的值设置切片的颜色。例如,我有一个按类型(如租赁、现金、财务)划分的汽车销售表,我想为每个表指定一种颜色。在文档中,似乎可以用条形图来实现这一点,但我似乎不能用切片来实现。我尝试了以下方法:

var pieChart = new google.visualization.ChartWrapper({
    options : {
        ...
        slices: [{color: 'black'}, {color: 'green'}, {color: 'red'}]
    }
});

颜色得到渲染,但我想为
lease
指定
黑色。关于如何实现这一点,您有什么想法吗?

切片
数组中的颜色顺序应该与数据表中的行顺序相同

// build slices
var slices = [];
for (var i = 0; i < data.getNumberOfRows(); i++) {
  slices.push({
    color: colors[data.getValue(i, 0)]
  });
}
因此,对于以下行

data.addRows([
  ['Cash', 5],
  ['Finance', 20],
  ['Lease', 15]
]);
对于
'Lease'
为黑色,它应该是数组中的最后一种颜色

slices: [{color: 'green'}, {color: 'red'}, {color: 'black'}]

如果行的顺序未知,则可以动态设置颜色

使用对象为颜色创建贴图

// create color map
var colors = {
  'Cash': 'green',
  'Finance': 'red',
  'Lease': 'black'
};
然后根据数据表中的值构建切片数组

// build slices
var slices = [];
for (var i = 0; i < data.getNumberOfRows(); i++) {
  slices.push({
    color: colors[data.getValue(i, 0)]
  });
}
//构建切片
var切片=[];
对于(var i=0;i
请参阅以下工作片段

google.charts.load('current'{
回调:图纸,
软件包:['corechart']
});
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('string','sales');
data.addColumn('number','count');
data.addRows([
[“现金”,5],
[“金融”,20],
[‘租赁’,15]
]);
sort([{column:1,desc:true}]);
//创建颜色贴图
变量颜色={
“现金”:“绿色”,
‘金融’:‘红色’,
“租约”:“黑色”
};
//构建切片
var切片=[];
对于(var i=0;i

切片
数组中的颜色顺序应与数据表中的行顺序相同

// build slices
var slices = [];
for (var i = 0; i < data.getNumberOfRows(); i++) {
  slices.push({
    color: colors[data.getValue(i, 0)]
  });
}
因此,对于以下行

data.addRows([
  ['Cash', 5],
  ['Finance', 20],
  ['Lease', 15]
]);
对于
'Lease'
为黑色,它应该是数组中的最后一种颜色

slices: [{color: 'green'}, {color: 'red'}, {color: 'black'}]

如果行的顺序未知,则可以动态设置颜色

使用对象为颜色创建贴图

// create color map
var colors = {
  'Cash': 'green',
  'Finance': 'red',
  'Lease': 'black'
};
然后根据数据表中的值构建切片数组

// build slices
var slices = [];
for (var i = 0; i < data.getNumberOfRows(); i++) {
  slices.push({
    color: colors[data.getValue(i, 0)]
  });
}
//构建切片
var切片=[];
对于(var i=0;i
请参阅以下工作片段

google.charts.load('current'{
回调:图纸,
软件包:['corechart']
});
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('string','sales');
data.addColumn('number','count');
data.addRows([
[“现金”,5],
[“金融”,20],
[‘租赁’,15]
]);
sort([{column:1,desc:true}]);
//创建颜色贴图
变量颜色={
“现金”:“绿色”,
‘金融’:‘红色’,
“租约”:“黑色”
};
//构建切片
var切片=[];
对于(var i=0;i


@MoreScratch--请使用投票按钮附近的复选标记将答案标记为已接受,好吗?这将允许我将其他人标记为这一个的副本…嗨,对不起,我以为我接受了这个答案,但我现在不能@MoreScratch,你能帮我们吗?谢谢@请用投票按钮旁边的复选标记将答案标记为已接受,好吗?这将允许我将其他人标记为这一个的副本…嗨,对不起,我以为我接受了这个答案,但我现在不能@MoreScratch,你能帮我们吗?谢谢