7

我想定制我的柱形图API如下谷歌柱形图定制传奇

1)当我点击的传说与此相关的数据集应该返回null,并显示在禁用色彩的传说。我的代码如下。

function drawVisualization() { 
    // Create and populate the data table. 
    var chart_div  = document.getElementById('visualization2'); 

    var data2   = google.visualization.arrayToDataTable([["Sections","Client Scored",{ role: "style" },"Client Confidence",{ role: "style" },"Average Mark",{ role: "style" },"Average Confidence",{ role: "style" }],["Set 1",90,"opacity: 1",95,"opacity: 0.5",78,"opacity: 1",69,"opacity: 0.5"],["Set 2",65,"opacity: 1",73,"opacity: 0.5",99,"opacity: 1",99,"opacity: 0.5"]]); 
    var options = { 
     title:"Understanding", 
     width:'100%', height:600,seriesType: "bars" 
     ,series:{1: {type: "line",pointSize: 10,lineWidth :0},3: {type: "line",pointSize: 10,lineWidth :0}} 
     ,colors: ['#fafe14','#fafe14','#05afed','#05afed'] 
     ,vAxis: {title: "%Score",format: '##', minValue: '1', maxValue: '8'},  
     hAxis: {title: "",slantedText: true,slantedTextAngle:60, maxTextLines: 5, maxAlternation: 10 }, 
     chartArea: {height: '60%',top:10} 
     };  
    var chart   = new google.visualization.ColumnChart(chart_div); 

    chart.draw(data2, options); 

    } 

对于这一点,我试过hideColumns功能,它的工作,但问题是,传说也淡出与数据集,如果我删除第二列第三列将成为第二个和4将成为3和5将变为4.

2)我的第二个问题是第1列,第3列是线宽为零的线,如下所示。

enter image description here

有什么办法来移动这对第一条的正中央如下图所示 enter image description here

回答

1

如果我理解你的问题的第一部分正确你想隐藏一列而不从DataTable中移除它。

要使DataTable中的列不显示在从中绘制的图表中,您可以将列的角色更改为不显示在图表上的内容。

例如,某列的annotationText角色适用于前面的注释列,但如果在它之前没有注释列,那么annotationText列将被忽略。

所以,如果你想隐藏2列,下面的代码片段会这么做:

data_table.setColumnProperty(2,'role','annotationText'); 

而且如果要再次显示列你只需更改角色回数据

data_table.setColumnProperty(2,'role','data');