Javascript 不使用arrayToDataTable()修改Google柱形图中的柱颜色

Javascript 不使用arrayToDataTable()修改Google柱形图中的柱颜色,javascript,charts,properties,google-visualization,google-fusion-tables,Javascript,Charts,Properties,Google Visualization,Google Fusion Tables,我分析了Google Fusion表中的数据,所以我不能利用arrayToDataTable单独更改列的颜色和其他属性。任何人都知道如何选择列,然后修改它们的属性,包括隐藏它们。谢谢 以下是用于输入融合表数据和绘制图表的代码: google.load('visualization', '1', { packages: ['corechart', 'bar'] }); google.setOnLoadCallback(drawVisualization); var data;

我分析了Google Fusion表中的数据,所以我不能利用arrayToDataTable单独更改列的颜色和其他属性。任何人都知道如何选择列,然后修改它们的属性,包括隐藏它们。谢谢

以下是用于输入融合表数据和绘制图表的代码:

 google.load('visualization', '1', {
     packages: ['corechart', 'bar']
 });

 google.setOnLoadCallback(drawVisualization);

 var data;
 var chart;
 var views = {};

 var options = {
     titlePosition: 'none',
     backgroundColor: '#E5E3DF',
     tooltip: {
         isHtml: true
     },
     legend: {
         position: 'none'
     },
     vAxis: {
         title: "Avg. Confidence Level",
         format: 'decimal',
         minValue: 0
     },
     hAxis: {
         title: "Master Level Universities"
     },
     height: 500
 };

 function drawVisualization() {
     chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));

     var query = "SELECT ShortName, Thesis FROM 1BslkTKgWIr0jwxR8odybI2fvvLSKnfSE8MylFzDi";
     var queryText = encodeURIComponent(query);
     var opts = {
         sendMethod: 'auto'
     };
     var gvizQuery = new google.visualization.Query(
         'http://www.google.com/fusiontables/gvizdata?tq=', opts);

     gvizQuery.setQuery(query);


     gvizQuery.send(function (e) {

         data = e.getDataTable();
         data = new google.visualization.DataView(data);
         data.setColumnProperty(0, "ShortName", 'color: #e5e4e2'); //maybe this is how I modify column, but it spits out error.

         chart.draw(data, options);
     });
 }

有关详细信息,请参阅文档

要设置栏颜色,请创建具有角色样式的列:

data.addColumn({type: "string", role: "style" });
然后将其设置为所需的值:

data.setCell(0,2,'red');
data.setCell(1,2,'purple');
data.setCell(2,2,'green');
data.setCell(3,2,'yellow');
代码段:

google.load'visualization'、'1'{ 软件包:['corechart','bar'] }; google.setOnLoadCallbackdrawVisualization; var数据; var图; var视图={}; 变量选项={ 标题位置:“无”, 背景颜色:“E5E3DF”, 工具提示:{ isHtml:是的 }, 图例:{ 位置:“无” }, 言辞:{ 标题:平均置信水平, 格式:“十进制”, 最小值:0 }, 哈克斯:{ 标题:硕士级大学 }, 身高:500 }; 功能可视化{ chart=新的google.visualization.ColumnChartdocument.getElementById'chart_div'; var query=从1BSLKTKGWIR0JWXR8ODYBI2VVLSKNFSE8MYLFZDI中选择短名称; var queryText=encodeURIComponentquery; 变量选项={ sendMethod:'自动' }; var gvizQuery=new google.visualization.Query 'http://www.google.com/fusiontables/gvizdata?tq=,选择; gvizQuery.setQueryquery; gvizQuery.sendfunctione{ 数据=e.getDataTable; data.addColumn{ 类型:字符串, 角色:风格 };//也许这就是我修改列的方式,但它会抛出错误。 data.setCell0,2,‘红色’; data.setCell1,2,“紫色”; data.setCell2,2,“绿色”; data.setCell3,2,‘黄色’; var dataView=new google.visualization.DataViewdata; chart.drawdataView,选项; }; } html, 身体 图表组{ 身高:100%; 宽度:100%; 边际:0px; 填充:0px }
setColumnProperty参数应为columnIndex、属性名称、值。。。像0、'color'、'e5e4e2'。。。我想。我得到了一个错误:uncaughttypeerror:data.setColumnProperty不是一个函数,是不是您正在获取数据的同一个不再是dataTable。。。