Javascript 谷歌图表-仪表板组合图表不堆叠条形图

Javascript 谷歌图表-仪表板组合图表不堆叠条形图,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,我正在尝试得到一个堆叠的条形图。下面的示例应该为2017-W30堆叠两个值。相反,它在x轴上给了我两次2017-W30 我在选项中使用了isStacked,但它不起作用 'options': { width: '100%', height: 'auto', seriesType: 'bars', isStacked: true } 旁注:我稍后会尝试让球门线发挥作用。这就是我使用“图表类型”:“组合图表”的原因。 这是我的工作代码: //

我正在尝试得到一个堆叠的条形图。下面的示例应该为2017-W30堆叠两个值。相反,它在x轴上给了我两次2017-W30

我在选项中使用了
isStacked
,但它不起作用

'options': {
      width: '100%',
      height: 'auto',
      seriesType: 'bars',
      isStacked: true
    }
旁注:我稍后会尝试让球门线发挥作用。这就是我使用“图表类型”:“组合图表”的原因。

这是我的工作代码:
//加载可视化API和corechart包。
google.charts.load('current'{
“包”:[“核心图表”、“表格”、“仪表”、“控件”]
});
//将回调设置为在加载Google Visualization API时运行。
google.charts.setOnLoadCallback(gChart0);
函数gChart0(){
图纸();
};
函数绘图图(){
var divID_后缀函数='_TEMPLATE';
var divID_后缀参数1='';
//var urlString='../Logs/clnlogscontingevents?grade=All&SC=1&CauseSC=3';
//var urlString_temp='1https://jsonplaceholder.typicode.com/users';
var urlString_temp='1https://httpbin.org/get“;//来源:https://resttesttest.com/
$.ajax({
键入:“GET”,
数据类型:“json”,
contentType:“应用程序/json”,
//url:urlString,
url:urlString_temp,
成功:功能(结果){
//手动加载带有JSON的“结果”,JSON通常来自“urlString”。
结果=[{
“prodID”:2,
“日历周”:“2017-W29”,
“数量”:1,
“目标”:5
},
{
“prodID”:2,
“日历周”:“2017-W30”,
“数量”:3,
“目标”:5
},
{
“prodID”:1,
“日历周”:“2017-W30”,
“数量”:2,
“目标”:5
}
];
//创建数据表
var data=new google.visualization.DataTable();
//添加列
data.addColumn('number','prodID');
data.addColumn('string','calendarWeek');
data.addColumn('编号','数量');
data.addColumn('number','goal');
//添加行
var dataArray=[];
$。每个(结果、功能(i、obj){
dataArray.push([
prodID,
对象:日历周,
对象数量,
目标
]);
});
data.addRows(dataArray);
//创建数据视图
var view=newgoogle.visualization.DataView(数据);
view.setColumns([0,1,2,3]);
//创建一个仪表板。
var dashboard=new google.visualization.dashboard(
document.getElementById('div_dashboard'+divID_Suffix函数+divID_Suffix参数1));
var categoryPicker1=新的google.visualization.ControlWrapper({
“controlType”:“StringFilter”,
“containerId”:“div_dashboard_categoryPicker1”+divID_suffix函数+divID_suffix参数1,
“选项”:{
“filterColumnIndex”:0,//控件中使用的列
“用户界面”:{
//“标签”:“存储箱”,
“标签固定”:“垂直”,
“labelSeparator”:”
}
}
});
var categoryPicker2=新的google.visualization.ControlWrapper({
“controlType”:“StringFilter”,
“containerId”:“div_dashboard_categoryPicker2”+divID_suffix函数+divID_suffix参数1,
“选项”:{
“filterColumnIndex”:1,//控件中使用的列
“用户界面”:{
//“标签”:“存储箱”,
“标签固定”:“垂直”,
“labelSeparator”:”
}
}
});
var chart=new google.visualization.ChartWrapper({
'chartType':'ComboChart',
“containerId”:“div\u仪表板\u图表”+divID\u后缀函数+divID\u后缀参数1,
“视图”:{
“列”:[1,2]
},
“选项”:{
宽度:“100%”,
高度:“自动”,
序列类型:“条”,
isStacked:是的,
//系列:{2:{type:'line'}}
}
});
//对象绑定
dashboard.bind([categoryPicker1,categoryPicker2],[chart]);
//绘制仪表板。
仪表板。绘制(视图);
}//结束成功:函数(结果){
});//END$.ajax({
}//结束函数drawChart()



isStacked选项将同一行中每列的值堆叠起来

为了在同一周内堆叠多个值,
您的数据需要与以下内容类似

['calendarWeek', 'prodID 1', 'prodID 2', 'goal'],
['2017-W29', null, 1, 5],
['2017-W30', 2, 3, 5],
请参阅以下工作片段

google.charts.load('current'{
包:['controls']
}).然后(函数(){
//手动加载带有JSON的“结果”,JSON通常来自“urlString”。
结果=[{
“prodID”:2,
“日历周”:“2017-W29”,
“数量”:1,
“目标”:5
},
{
“prodID”:2,
“日历周”:“2017-W30”,
“数量”:3,
“目标”:5
},
{
“prodID”:1,
“日历周”:“2017-W30”,
“数量”:2,
“目标”:5
}
];
//创建数据表
var data=new google.visualization.DataTable();
//添加列
data.addColumn('string','calendarWeek');
$。每个(结果、功能(i、obj){
var colIndex=getColumnIndex('prodID'+obj.prodID);
如果(colIndex==-1){
data.addColumn('number','prodID'+obj.prodID');
}
});
data.addColumn('number','goal');
//添加行
var dataArray=[];
$。每个(结果、功能(i、obj){
var rowIndex=getRowIndex(对象日历周);
如果(行索引==-1){
rowIndex=data.addRow();
}
data.setValue(行索引,0,对象日历周);
data.setValue(行索引、getColumnIndex('prodID'+obj.prodID))、对象数量;
data.setValue(rowIndex、getColumnIndex('goal')、obj.goal);
});
//创建数据视图
var view=newgoogle.visualization.DataView(数据);
//创建一个仪表板。
var dashboard=new google.visualization.dashboard(
document.getElementById('div_dashboard');
var categoryPicker1=新的google.visualization.ControlWrapper({
“controlType”:“StringFilter”