Colors 如何设置google图表中特定注释和/或链接的颜色?
我的数据可能是这样的:Colors 如何设置google图表中特定注释和/或链接的颜色?,colors,google-visualization,sankey-diagram,Colors,Google Visualization,Sankey Diagram,我的数据可能是这样的: var data = new google.visualization.DataTable(); data.addColumn('string', 'From'); data.addColumn('string', 'To'); data.addColumn('number', 'Customers'); data.addRows([ ['BOUGHT FIRST FROM YOU','your customers',29],
var data = new google.visualization.DataTable();
data.addColumn('string', 'From');
data.addColumn('string', 'To');
data.addColumn('number', 'Customers');
data.addRows([
['BOUGHT FIRST FROM YOU','your customers',29],
['bought first from Store1','your customers',9],
['bought first from Store2','your customers',8],
['bought first from Store3','your customers',4],
['your customers','BOUGHT ONLY FROM YOU',27],
['your customers','bought later from Store2',9],
['your customers','bought later from Store4',7]]);
我想要的按重要性降序排列:
var data = new google.visualization.DataTable();
data.addColumn('string', 'From');
data.addColumn('string', 'To');
data.addColumn('number', 'Customers');
data.addRows([
['BOUGHT FIRST FROM YOU','your customers',29],
['bought first from Store1','your customers',9],
['bought first from Store2','your customers',8],
['bought first from Store3','your customers',4],
['your customers','BOUGHT ONLY FROM YOU',27],
['your customers','bought later from Store2',9],
['your customers','bought later from Store4',7]]);
编辑1:解决方案 我希望能更直接地控制颜色,但我想这是最好的了。颜色实际上是以一种可预测的方式使用的(参见代码),即使注释被重新排序,这样我就可以基于要显示的数据创建颜色数组 根据WhiteHat的回答:
google.charts.load('current'{
回调:函数(){
var data=new google.visualization.DataTable();
data.addColumn('string','From');
data.addColumn('string','To');
data.addColumn('number','Customers');
data.addRows([
[‘从你那里买的第一件’,//01新节点->第一种颜色
“您的客户”,29],//02新节点->第二种颜色
[“从Store1第一次购买”,//03新节点->第三种颜色
“您的客户”,9],//04重现02->2色节点
[“从Store2第一次购买”,//05新节点->第四种颜色
“您的客户”,4],//06重现02->2色节点
[‘从Store3买的第一个’,//07新节点->第五种颜色
“您的客户”,8],//08重现02->2色节点
['您的客户',//09重现02->2色节点
“仅从您处购买”,13],//10新节点->第6色
['您的客户',//11重现02->2色节点
'稍后从商店购买2',9],//12新节点->第7色
['您的客户',//13重现02->2色节点
'稍后从Store4购买',7]//14新节点->第8色
]);
变量选项={
桑基:{
节点:{
//节点颜色将循环通过阵列
颜色:[
“洋红”,
“洋红”,
“青色”,
“绿色”,
“黄色”,
“洋红”,
“绿色”,
“蓝色”
]
},
链接:{
颜色模式:“源”
}
}
};
var chart=new google.visualization.Sankey(document.getElementById('chart_div');
图表绘制(数据、选项);
},
软件包:['sankey']
});代码>
要使一个节点的颜色与其他节点不同
使用sankey.node.colors
config选项
它采用一个颜色字符串数组,该数组将映射到节点
请参阅以下工作片段
google.charts.load('current'{
回调:函数(){
var data=new google.visualization.DataTable();
data.addColumn('string','From');
data.addColumn('string','To');
data.addColumn('number','Customers');
data.addRows([
[“先从您那里购买”,“您的客户”,29],
[“先从商店购买1”,“您的客户”,9],
[“先从商店购买2”,“您的客户”,8],
[“先从商店购买”3、“您的客户”4],
[“您的客户”,“仅从您处购买”,27],
[“您的客户”,“以后从商店购买2',9],
[“您的客户”,“以后从商店购买”4',7]
]);
变量选项={
桑基:{
节点:{
//节点颜色将循环通过阵列
颜色:[
“洋红”,
“青色”,
“青色”,
“青色”
]
}
}
};
var chart=new google.visualization.Sankey(document.getElementById('chart_div');
图表绘制(数据、选项);
},
软件包:['sankey']
});代码>
希望这会有所帮助,对于着色链接,似乎只能提供一种颜色…感谢您的回答,但是我知道该选项,并且已经在使用它了;此外,您还可以以相同的方式为链接提供多种颜色` link:{colors:arrayOfColors}´(),但是这对我没有帮助,图形只使用一种合适的颜色,我无法控制什么颜色去哪里,也无法保证链接最终会出现在什么位置,因此在数组中获得正确的颜色顺序纯粹是运气链接。颜色似乎对我不起作用,但节点。颜色应根据行和链接进行映射-唯一的其他选择是修改图表手动,一旦触发'ready'
事件——我考虑手动修改图表,但没有简单的方法确定注释的正确矩形和链接的正确路径,我可以尝试根据其文本查找标签,然后在标签的左侧或右侧查找一个rect,然后获取链接的开始和结束注释的rect,然后查找连接到这两个rect的链接-或者您是否看到了一种更容易识别注释rect和链接路径的方法?dom中的元素应遵循数据行的顺序谢谢您提供了更新的解决方案编辑1