ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Javascript-Google可视化,您可以根据列的值分配切片的颜色吗?

2019-11-21 06:34:40  阅读:206  来源: 互联网

标签:google-visualization javascript


我正在尝试以下操作根据值分配颜色,但这不起作用,它只是分配默认值.此方法适用于其他图表类型.请记住,我不能在选项中使用颜色,因为行的排列顺序可以不同.有任何想法吗?

var data = new google.visualization.DataTable();        
  data.addColumn('string', 'Status');
  data.addColumn('number', 'Count');
  data.addColumn({type: 'string', role: 'style'});
  data.addRow(['Failure', 8,'color:#EE4A49']);
  data.addRow(['Warning', 1,'color:#E3d157']);
  data.addRow(['Success', 1,'color:#45B7AF']); 

http://jsfiddle.net/zYS27/15/

解决方法:

基于on the current API,我认为您可能需要对数据进行预处理,然后再将其传递给Google图表.

var data = new google.visualization.DataTable();        
  data.addColumn('string', 'Status');
  data.addColumn('number', 'Count');
  data.addColumn({type: 'string', role: 'style'});
  data.addRow(['Failure', 8,'color:#EE4A49']);
  data.addRow(['Warning', 1,'color:#E3d157']);
  data.addRow(['Success', 1,'color:#45B7AF']);

var myColors = { 'Failure' : 'red', 'Success': 'green', 'Warning': 'yellow' };

var slicesColor = {};

for( var i=0; i < data.getNumberOfRows(); i++){
  // I assume the label is in the first column of each row here
  // this is based on string matching, but you can define any criteria you want
  slicesColor[i] = {color: myColors[data.getValue(i, 0)] };
}

var options = {
  ...
  slices: slicesColor
}

var chart = new google.visualization.PieChart(document.getElementById('chart'));
  chart.draw(data, option);   
}
...

标签:google-visualization,javascript
来源: https://codeday.me/bug/20191121/2049866.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有