Google Chart BarChart上的中心栏?

kav*_*vun 3 javascript google-visualization bar-chart

有没有办法使用谷歌图表Javascript API来中心条形图上的条形图 - 谷歌图表示例?我想用谷歌图表模拟一个漏斗图.Google图表不支持渠道类型的图表.

在此输入图像描述

小智 10

是的,这是可能的.基本上他们在这个例子中正在做的是创建一个基本的条形图(http://code.google.com/apis/chart/interactive/docs/gallery/barchart.html).为了获得这种"漏斗"效果,他们创建了一个堆积图表(在javascript中查看isStacked属性).第一个元素是白色,本例中的下一个元素是橙色.

您可以通过更改颜色属性来自行查看:chco = ffffff,FF9900,例如chco = aaaaaa,FF9900.

HTTP://chart.apis.google.com/chart CHT = BHS&CHCO = AAAAAA,FF9900&chxt = X,X,Y&chxl = 1:|?百分比%20converting | 2:|步骤206%|步骤205%|步骤204%|步骤203%|步骤202%|步骤201%&chxp = 1,50 | 3,50&CHD = T:0,12.5,28,29,35.5,48.5 | 100,75,44,42,29,3&chbh = A&CHS = 800x230&CHM = N**%,000000,1,-1,11,c&chds = 0,100

然后你会看到它是一个基本的堆积图表,而不是一种新的图形.

以下代码显示了如何执行此操作:

    function drawVisualization() {
  // Create and populate the data table.
  var data = new google.visualization.DataTable();
  var raw_data = [['Invisible', 10, 20, 30, 40],
                  ['Visible', 80, 60, 40, 20]];

  var years = ["Step1", "Step2", "Step3", "Step4"];

  data.addColumn('string', 'Year');
  for (var i = 0; i  < raw_data.length; ++i) {
    data.addColumn('number', raw_data[i][0]);    
  }

  data.addRows(years.length);

  for (var j = 0; j < years.length; ++j) {    
    data.setValue(j, 0, years[j].toString());    
  }
  for (var i = 0; i  < raw_data.length; ++i) {
    for (var j = 1; j  < raw_data[i].length; ++j) {
      data.setValue(j-1, i+1, raw_data[i][j]);    
    }
  }

  // Create and draw the visualization.
  new google.visualization.BarChart(document.getElementById('visualization')).
      draw(data,
           {title:"Yearly Coffee Consumption by Country",
            width:600, height:400,
            colors: ['ffffff','aaaaaa'], 
            vAxis: {title: "Year"},
            hAxis: {title: "Cups", gridlineColor : 'ffffff'}, isStacked: true}
      );
}
Run Code Online (Sandbox Code Playgroud)