Javascript 如何为谷歌图表中的特定列添加颜色

Javascript 如何为谷歌图表中的特定列添加颜色,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,我有一张有4条不同颜色的线的图表。使用复选框可以隐藏/显示特定行。 现在,当显示所有行(选中所有框)时,第1行为红色,第2行为黄色。当第1行隐藏时,第2行为红色,第3行为黄色 这可能会让用户感到困惑,因此我希望将行分配给特定的列。有办法吗 我当前为线条指定颜色,如下所示: colors: [red, yellow, green, blue] 这个图像可能会让事情变得更清楚 显示所有行时: 隐藏第1行时: 我希望我的问题是清楚的 编辑:我还尝试分配选项系列中的颜色,如下所示,但结果相

我有一张有4条不同颜色的线的图表。使用复选框可以隐藏/显示特定行。 现在,当显示所有行(选中所有框)时,第1行为红色,第2行为黄色。当第1行隐藏时,第2行为红色,第3行为黄色

这可能会让用户感到困惑,因此我希望将行分配给特定的列。有办法吗

我当前为线条指定颜色,如下所示:

    colors: [red, yellow, green, blue]
这个图像可能会让事情变得更清楚

显示所有行时:

隐藏第1行时:

我希望我的问题是清楚的

编辑:我还尝试分配
选项系列中的颜色,如下所示,但结果相同

series: {
            0: { color: '#e2431e' ,targetAxisIndex: 0},
            1: { color: '#e7711b' ,targetAxisIndex: 1},
            2: { color: '#f1ca3a' ,targetAxisIndex: 0},
            3: { color: '#6f9654' ,targetAxisIndex: 0},       

可以将颜色指定为数据表上的列属性

然后基于可见列构建颜色数组

请参阅以下工作片段

google.charts.load('current'{
回调:图纸,
软件包:['corechart']
});
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('string','Year');
data.addColumn('number','Q1');
data.addColumn('number','Q2');
data.addColumn('number','Q3');
data.addColumn('number','Q4');
addRow数据(['2016年1月',50010012001000]);
addRow数据(['2016年2月'、500、100、1975、1000]);
addRow数据(['2016年3月',50010012001000]);
addRow数据(['2016年4月',50010012001000]);
var colors=['红色'、'黄色'、'绿色'、'蓝色'];
forEach(函数(颜色、索引){
data.setColumnProperty(索引+1,'color',color);
});
变量选项={
图表区:{
前12名,
右:0,,
底部:72,
左:72
},
图例:{
位置:'底部'
},
颜色:颜色,
哈克斯:{
倾斜文字:对
},
言辞:{
标题:“金额”,
视图窗口:{
最高:2000
}
},
酒吧:{
groupWidth:'90%'
},
身高:400
};
美元('.series chk')。在('change',drawChart')上;
$(窗口)。调整大小(绘图图);
图纸();
函数绘图图(){
var chartColors=[];
var chartColumns=[0];
var view=newgoogle.visualization.DataView(数据);
$.each($('.series chk'),函数(索引,复选框){
var seriesColumn=parseInt(checkbox.value);
如果(复选框。选中){
图表列。推送(系列列);
push(data.getColumnProperty(seriesColumn,'color'));
}
});
view.setColumns(chartColumns);
options.colors=图表颜色;
var chart=new google.visualization.LineChart(document.getElementById('chart_div'));
图表绘制(视图、选项);
}
}

系列0
系列1
系列2
系列3

发布您的代码,谢谢!不完全是我想要的,但我认为这可能是唯一的方法。@WhiteHat有必要让函数名为drawChart()两次吗?好的,第二个问题是DataTable和DataView是相同的还是我可以将DataTable用于这两个函数?不一样,DataView仅用于显示选定的列,但DataView可用于以下两种情况。。。