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]]);
  • 所有以标题中有“you”的便笺开头或结尾的链接都应该是一种颜色
  • 标题中有“you”的所有注释应为一种颜色
  • #1的颜色应取决于#2
  • 所有涉及同一商店的注释应具有相同的颜色
  • 为了实现这一点,我需要独立设置注释和链接的颜色。 这可能吗?如果可能,怎么可能


    编辑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